Live data from Hacker News

Git: Introduce Rust and announce it will become mandatory in the build system

lore.kernel.org

41–50 of 433 posts

Re: Git: Introduce Rust and announce it will become mandatory in the build system

#41

It seems unwise, to me, to tie the life of a project as fundamental, and conceptually simple, as git to a compiler and runtime as complicated as rust. The beauty of the unsafety of C is partially that it's pretty easy to spin up a compiler on a new platform. The same cannot be said of Rust.

Do you think any new, Git-relevant platform is going to gain C compiler support via anything other than Clang/LLVM?

Re: Git: Introduce Rust and announce it will become mandatory in the build system

#42

How does this help me as a user of git?

Rust is generally a much better tool for building software than C. When your software is built with better tools, you will most likely get better software (at least eventually / long term, sometimes a transition period can be temporarily worse or at least not better).

Re: Git: Introduce Rust and announce it will become mandatory in the build system

#43

Earlier quoted context omitted.

Yes. It benefits them to have ubiquitous tools supported on their system. The vendors should put in the work to make that possible. I don’t maintain any tools as popular as git or you’d know me by name, but darned if I’m going to put in more than about 2 minutes per year supporting non-Unix. (This said as someone who was once paid to improve Ansible’s AIX support for an employer. Life’s too short to do that nonsense…

As you're someone very familiar with Ansible, what are your thoughts on it in regards to IBM's imminent complete absorption of RedHat? I can't imagine Ansible, or any other RedHat product, doing well with that.

I'm sure some of RedHat stuff will end up in the Apache Foundation once IBM realizes it has no interest in them.

Re: Git: Introduce Rust and announce it will become mandatory in the build system

#44
post #16
post #6

Earlier quoted context omitted.

See this page [1], particularly the 'Tier 3' platforms. [1] https://doc.rust-lang.org/beta/rustc/platform-support.html

Thanks for the specifics, really fascinating list! I'm sure I'm being a bit flippant, but it's pretty funny that a list including the Playstation 1, N64, and Apple Watches is in the same conversation as systems that need to compile git from source. Anyone know of anything on that list with more than a thousand SWE-coded users? Presumably there's at least one or two for those in the know?

In practice, the only systems any significant number of people care about running Git on are arm64 and x86-64, and those are very well supported.

Re: Git: Introduce Rust and announce it will become mandatory in the build system

#45

> Introducing Rust is impossible for some platforms and hard for others. Please could someone elaborate on this.

You’re chasing after the meaning of “impossible.” Easy. There’s two categories of developers:

> I like programming

> I program to make money

If you belong to the second category - I’m going to be super charitable, it sounds like I’m not going to be charitable and I am, so keep reading - such as by being paid by a giant bank to make applications on Nonstop, there might be some policy that’s like

“You have to vet all open source code that runs on the computer.”

So in order to have Rust, on Nonstop, to build git, which this guy likes, he’d need to port llvm, which isn’t impossible. What’s impossible is to get llvm code reviewed by legal, or whatever, which they’re not going to do, they’re going to say “No. No llvm. HP who makes Nonstop can do it, and it can be their legal problem.”

I’m not saying it’s impossible. The other guy is saying it’s impossible, and I’m trying to show how, in a Rube Goldberg way, it looks impossible to him.

You and I like programming, and I’m sure we’re both gainfully employed, though probably not making as much money at guy, but he doesn’t like programming. You are allowed to mock someone’s sincerity if they’re part of a system that’s sort of nakedly about making lots of money. But if you just like programming, you’d never work for a bank, it’s really fucking boring, so basically nobody who likes programming would ever say porting Rust or whatever is impossible. Do you see?

It’s tough because, the Jane Street people and the Two Sigma people, they’re literally kids, they’re nice people, and they haven’t been there for very long, they still like programming! They feel like they need to mook for the bank, when they could just say that living in New York and having cocktails every night is fun and sincere. So this forum has the same problem as the mailing list, where it sounds like it’s about one thing - being able to use fucking hashmaps in git - and it’s really about another - bankers. Everywhere they turn, the bankers run into people who make their lifestyle possible, whether it’s the git developers who volunteer their time or the parents of the baristas at the bars they’re going to paying the baristas’ rent - and the bankers keep hating on these people. And then they go and say, well everyone is the problem but me. They don’t get it yet.

Re: Git: Introduce Rust and announce it will become mandatory in the build system

#46

Earlier quoted context omitted.

There's at least one proprietary platform that supports Git built by via a vendor-provided C compiler, but for which no public documentation exists and therefore no LLVM support is possible. Ctrl+F for "NonStop" in https://lwn.net/Articles/998115/

Maybe they can resurrect the C backend for LLVM and run that through their proprietary compilers? It's probably not straightforward but the users of NonStop hardware have a lot of money so I'm sure they could find a way.

Rust has an experimental C backend of its own as part of rustc_codegen_clr https://github.com/FractalFir/rustc_codegen_clr . Would probably work better than trying to transpile C from general LLVM IR.

Re: Git: Introduce Rust and announce it will become mandatory in the build system

#47
post #41

It seems unwise, to me, to tie the life of a project as fundamental, and conceptually simple, as git to a compiler and runtime as complicated as rust. The beauty of the unsafety of C is partially that it's pretty easy to spin up a compiler on a new platform. The same cannot be said of Rust.

Do you think any new, Git-relevant platform is going to gain C compiler support via anything other than Clang/LLVM?

In theory you should be able to use TCC to build git currently [1] [2]. If you have a lightweight system or you're building something experimental, it's a lot easier to get TCC up and running over GCC. I note that it supports arm, arm64, i386, riscv64 and x86_64.

[1] https://bellard.org/tcc/

[2] https://github.com/TinyCC/tinycc

Re: Git: Introduce Rust and announce it will become mandatory in the build system

#48
post #34
post #24

Earlier quoted context omitted.

For whatever it might be worth... Looking at the comment thread, at least one person I recognize as a core maintainer seems to be acting as if this is an official plan that they've already agreed on the outline of, if not the exact timing. And they seem to acknowledge that this breaks some of the more obscure platforms out there.

Interesting! I'd certainly say that's worth something. Definitely didn't expect it though given how poorly some people have reacted to Rust being introduced as an optional part of the Linux kernel.

It's a lot more understandable for developer tooling like Git to more quickly adopt newer system requirements. Something like the Linux kernel needs to be conservative because it's part of many people's bootstrapping process.

rustc_codegen_gcc is close to becoming stable, and conversely the Linux kernel is dropping more esoteric architectures. Once the supported sets of architectures fully overlap, and once the Linux kernel no longer needs unstable (nightly-only) Rust features, it'd be more reasonable for Linux to depend on Rust for more than just optional drivers.

Re: Git: Introduce Rust and announce it will become mandatory in the build system

#49
Feel like there’s a ton of interesting things ahead for SCM — want to see more of those proposals.

For example…had to build my own tool to extend git blame and track the AI generated code in our repository and save prompts:

https://github.com/acunniffe/git-ai

Re: Git: Introduce Rust and announce it will become mandatory in the build system

#50
post #42

How does this help me as a user of git?

Rust is generally a much better tool for building software than C. When your software is built with better tools, you will most likely get better software (at least eventually / long term, sometimes a transition period can be temporarily worse or at least not better).

[deleted]
Post reply on HN