Skip to content(if available)orjump to list(if available)

Git: Introduce Rust and announce that it will become mandatorty

jmull

I'm wondering what's on the horizon with git 3.0?

From my (very limited) perspective, I just kind of thought git had settled in to 2.x and there wasn't any reason to break compatibility.

ziml77

Does anyone with insight into Git development know if we should care about this? Is this just a proposal out of nowhere from some rando or is this an idea that a good portion of Git contributors have wanted?

altairprime

[delayed]

ekidd

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.

ziml77

[delayed]

politelemon

> Introducing Rust is impossible for some platforms and hard for others.

Please could someone elaborate on this.

jmillikin

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/

antihero

Shouldn't these platforms work on getting Rust to support it rather than have our tools limited by what they can consume? https://github.com/Rust-GCC/gccrs

kstrauser

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 for free.)

akerl_

Isn’t that’s what’s happening? The post says they’re moving forward.

maximilianburke

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.

formerly_proven

Nonstop is still supported? :o

Hizonner

Sucks to be that platform?

Seriously, I guess they just have to live without git if they're not willing to take on support for its tool chain. Nobody cares about NonStop but the very small number of people who use it... who are, by the way, very well capable of paying for it.

MangoToupe

How is this git's concern?

StopDisinfo910

They enjoy being portable and like things to stay that way so when they introduce a new toolchain dependency which will make it harder for some people to compile git, they point it out in their change log?

arccy

because the rust compiler just doesn't support some platforms (os / architecture combination)?

RESF members tend to say it the other way around as in the platform doesn't support rust, but the reality is that it's the compiler that needs to support a platform, not the other way around.

DarkNova6

My understanding: As Rust is built on LLVM and not GCC, it is also limited to operating systems supporting LLVM.

GCC simply supports more platforms.

ahdanggit

Rust doesn't support as many CPU architectures as C does (SH4 for example, though there's likely many more better examples.)

This might make a much more interesting case for GOT than before https://www.gameoftrees.org/

1oooqooq

got is a waste of time, imo.

they could just port the multiprocess pledge stuff to git (and benefit linux too with namespaces)

then all the userfacing changes (i.e. work on git bare instrad of wc) I've been doing for the last decade with a couple lines on my gitconfig file.

whalee

See this page [1], particularly the 'Tier 3' platforms.

[1] https://doc.rust-lang.org/beta/rustc/platform-support.html

bbor

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?

whalee

I don't think the concern is whether a user can compile git from source on said platform, but rather whether the rust standard lib is well supported on said platform, which is required for cross compiling.

phkahler

It's to a "test balloon" if you have a plan to mandate it and will be announcing that. Unless I suppose enough backlash will cause you to cancel the plan.

monkeyelite

How does this help me as a user of git?

syngrog66

mandatorty: best new word of 2025

justinhj

"Announce that Git 3.0 will make Rust a mandatory part of our build infrastructure."

Sounds like it will be mandatory to use Rust to build all of Git. The title implies Rust itself will be mandatory.

binary132

how is that not the same thing?

wongarsu

You could read "Rust will become mandatory" as "all contributors will need to be able to code Rust" or even "all new code has to be written in Rust" or similar variations

kstrauser

My last company used Jenkins, so our build infrastructure depended on Java. We used zero code outside of supporting Jenkins. So Java was required to build our stuff, but not to write or run it.

Edit: nope, I’m wrong. On reading the link, they’re setting up the build infrastructure to support Rust in the Git code itself.

StopDisinfo910

One phrasing implies contributions will have to be in Rust, the other doesn’t.

I was confused in the same way after reading the submission title. Mandating Rust would be a far more radical change.

binary132

I see. No, I understood it the way it is, as introducing it as a new hard dependency in git 3. I suppose it is a pilot for making it mandatory for contributions / incrementally replacing the existing code in the future, though.