frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Grit: Rewriting Git in Rust with Agents

https://blog.gitbutler.com/true-grit
46•cbrewster•3h ago

Comments

rvz•1h ago
> the result is Grit, a from-scratch, library-based, memory-safe, idiomatic Rust reimplentation of Git that passes over 99% of the entire Git test suite.

Why not 100%?

> It's not actually passing every single test, though that is on purpose. I did mark some parts of the testing suite as "skipped" because I don't think it's worth recreating them in a library like this

> 41,715 / 42,001 tests passing (99.3%)

So it is not entire then but somehow that was worth burning $8,000~ dollars worth of tokens?

insanitybit•56m ago
So .7% tests fail therefor it was 100% a waste of time?
Zopieux•52m ago
Regardless, what's the point?
tonymet•50m ago
maybe it's an academic project. proof they could reimplement something useful & complex?
sharkjacobs•39m ago
> One of the main things I would like to be able to use it for is to be able to bundle complex push/fetch functionality into GitButler and other standalone Git tools needing network functionality (such as Jujutsu).

> Having parts of Git as discrete, embeddable slices of library also enables things like building custom Git servers or client functionality in Rust.

> The full build of all Git functionality in Rust is currently around 27M, but since a large part of it is a library, it could clearly be easily split up into domains of functionality - subcrates that do specific things. Perhaps you could simply use the subset you need.

rvz•46m ago
Given the author already admitted that the implementation was slow anyway, you are no better off of using gitoxide instead and that has support for Windows where-as Grit does not.
sharkjacobs•38m ago
> Currently both Gitoxide and libgit2's networking functionality is either partial, slow or non-existant. Both GitButler and Jujutsu rely on forking out to Git in order to push or pull data. A big reason for this is the incredibly complicated credential logic involved, but all of this is (theoretically) currently covered in Grit.
fg137•44m ago
I think we are talking about ROI in terms of solving real world problems and making real impact, not the fact that a tool has been ported from language X to language Y.
bryanlarsen•24m ago
It depends whether the 0.7% failures are testing deliberately unimplemented features like email or is in corner cases in implemented features. It sounds like it's at least mostly the former, hopefully it's 100% the former.

I don't care if any git I use has email features. IIUC, even most of the people that use git with email don't directly use the email features, they use the patch set features like `git am`. I expect `git am` to work, I don't expect git to actually do email.

ianm218•14m ago
There is often good reasons for these purposeful digressions. I.e. in nginx the unit tests cover cyphers that are considered unsafe and not supported by modern libraries like rustls https://github.com/rustls/rustls. It is reasonable to make a new implementation and leave behind a bit of baggage.
tonymet•52m ago
they still haven't explained why I should bother. Is it faster, easier, more efficient, more capable, more scalable on large codebases, supports better workflows?

In fact, I would rather it stay C for 15 more years.

heyts•51m ago
I'd be really interested in the opposite, just for the sake of experimentation since that's what these projects mostly are. They all seem to be rewrites for the sake of "performance", because the cost is now lower bc of AI. I'd be interested to see something like a port of Quake III in Python or Kubernetes in Perl, even Rails in Python would be goofy and really fun to see
jamesfinlayson•24m ago
> Quake III in Python

Probably doable - I remember most of Natural Selection 2 was Lua and it's more than a decade old at this point.

fg137•45m ago
Does anyone plan to use this?

Similarly, is there any momentum left for Cloudflare's EmDash? I can barely find any discussion after April.

Philpax•43m ago
> In looking at the code that the LLMs have produced for the project, especially given the pretty massive and widespread architectural changes needed to make the implementation libified and memory safe, we decided that the codebase is not a derivative work that would require carrying forward the GPL license and have decided to release the code under the MIT instead.

Hmm. That's going to be interesting.

nextaccountic•23m ago
they would be just wrong. I hope someone with standing sues
gdgghhhhh•37m ago
So, they "decided" it's not a derivative and thus can be listened under MIT instead of GPL....
subygan•28m ago
a lot of things are just "decided" really.

it's just in this case it's the author. we'll have to wait and see who decides to challenge it

madeofpalk•18m ago
Yeah, that's usually how contracts work.

You decide whether you have followed it or not. The other party will decide if they agree. If in dispute, you go to a judge and they decide also.

imoverclocked•34m ago
What’s the long term strategy for this code base? Does the author expect community code contribution or just bug reports or maybe just test contributions?
fg137•20m ago
In 6 months, seeing no adoption, move the repo to maintenance mode. Archive in 12 months.
ianm218•15m ago
I have been working on the same problem in other areas. My ultimate goal is to rewrite nginx in Rust passing as much as the upstream tests as possible while leveraging the strongest aspects of Ruts ecosystem - i.e. rustls (modern memory safe OpenSSL), Tokio (async runtime), h2 (http 2 impl) rather than implementing from scratch like the upstream. I started with Lua, then porting over Valkey, and now working on nginx. The reason was because I wanted to learn the ins and outs before taking on the most complex portion.

[1]. https://github.com/ianm199/lua-rs/tree/main Lua

[2]. https://github.com/ianm199/valdr Valkey/ Redis

[3]. https://github.com/ianm199/nginx-rs-port nginx

Happy to answer any questions on the approach! When I started a few weeks ago the harnesses on their own were not good enough to get very far without a "meta harness" of sorts but that is changing largely with Claude Workloads and Mythos. A lot of the work is developing some custom tooling to move these along faster.

dabedee•12m ago
This is coming from a cofounder at github, someone who probably knows precisely what the GPL is for. Whatever the legal merits, building on a GPL3 project's complete test suite and relicensing under MIT is not acting in good faith toward the original authors. I really find it disgusting and it makes me want to avoid gitbutler entirely.
Aperocky•12m ago
> A pretty fun experiment and I think we can shape this into something truly useful to the whole community.

Agree with first half of this sentence, we should all have fun with experiments.

> It was never based on a linkable and reentrant library, but instead on a "Unix" philosophy of chaining together simpler commands, which means that it's difficult to use

Ahhh now we have philosophical disagreement in the only place in the entire article that says "why". Unix is a feature, it's arguably more important in current time: https://aperocky.com/blog/post.html?slug=unix-philosophy-age...

Claude Fable 5

https://www.anthropic.com/news/claude-fable-5-mythos-5
1623•Philpax•6h ago•1283 comments

Upcoming breaking changes for NPM v12

https://github.blog/changelog/2026-06-09-upcoming-breaking-changes-for-npm-v12/
102•plasma•2h ago•30 comments

Ultrafast machine learning on FPGAs via Kolmogorov-Arnold Networks

https://aarushgupta.io/posts/kan-fpga/
132•ag2718•4h ago•15 comments

Making Graphics Like it's 1993

https://staniks.github.io/articles/catlantean-3d-blog-1/
738•sklopec•12h ago•121 comments

If Claude Fable stops helping you, you'll never know

https://jonready.com/blog/posts/claude-fable5-is-allowed-to-sabotage-your-app-if-youre-a-competit...
254•mips_avatar•2h ago•122 comments

Grit: Rewriting Git in Rust with Agents

https://blog.gitbutler.com/true-grit
47•cbrewster•3h ago•27 comments

Exif Smuggling

https://github.com/signalblur/exifsmugglingpoc
37•rolph•2h ago•18 comments

CEOs Who Think AI Replaces Their Employees Are Just Bad CEOs

https://www.techdirt.com/2026/06/09/ceos-who-think-ai-replaces-their-employees-are-just-bad-ceos/
328•speckx•4h ago•131 comments

A giant star may have destroyed itself in one of the rarest explosions

https://phys.org/news/2026-05-giant-star-destroyed-universe-rarest.html
148•wglb•1d ago•21 comments

Test-case reducers are underappreciated debugging tools

https://tratt.net/laurie/blog/2026/test_case_reducers_are_underappreciated_debugging_tools.html
70•ltratt•12h ago•9 comments

Flat Datacenter Networks at Scale at Amazon

https://perspectives.mvdirona.com/2026/06/flat-datacenter-networks-at-scale/
77•tanelpoder•19h ago•13 comments

Show HN: Resonate – Low-latency, high-resolution spectral analysis

https://alexandrefrancois.org/Resonate/
12•arjf•3d ago•8 comments

OpenCV 5 Is Here: The Biggest Leap in Years for Computer Vision

https://opencv.org/opencv-5/
671•ternaus•3d ago•119 comments

Let's Encrypt bans certificate usage in any US sanctioned territory [pdf]

https://letsencrypt.org/documents/LE-SA-v1.7-June-04-2026-diff.pdf
288•piskov•1d ago•234 comments

The LD_DEBUG environment variable (2012)

https://bnikolic.co.uk/blog/linux-ld-debug.html
52•tanelpoder•6h ago•1 comments

Apple decided not to roll out Siri in EU after denied request for exemption

https://www.reuters.com/business/apple-failed-make-its-ai-tool-comply-eu-regulations-eu-commissio...
338•flanged•7h ago•564 comments

FCC wants to kill burner phones by forcing telecoms to get all customers' IDs

https://www.404media.co/fcc-wants-to-kill-burner-phones-by-forcing-telecoms-to-get-all-customers-...
407•berlianta•8h ago•251 comments

Launch HN: Transload (YC P26) – Measuring freight items with CCTV

31•nils_spatial•7h ago•9 comments

Company Will Add Phone, AirPod, and Smartwatch Trackers to ALPRs

https://www.404media.co/this-company-will-add-phone-airpod-and-smartwatch-trackers-to-license-pla...
64•Cider9986•2h ago•21 comments

Biff.core: system composition for Clojure web apps

https://biffweb.com/p/core/
99•jacobobryant•7h ago•21 comments

Lies We Tell Ourselves About Email Addresses

https://gitpush--force.com/commits/2026/06/lies-we-tell-ourselves-about-email/
7•theanonymousone•1d ago•1 comments

Is Grep All You Need? How Agent Harnesses Reshape Agentic Search

https://arxiv.org/abs/2605.15184
107•Anon84•10h ago•52 comments

Ask HN: Are you still using a Vision Pro?

113•y1n0•4h ago•134 comments

Show HN: Gravity – interactive solar-system simulator, from Newton to Einstein

https://qunabu.github.io/Gravity/
137•qunabu•11h ago•34 comments

The iPhone's Last Stand?

https://stratechery.com/2026/the-iphones-last-stand/
162•swolpers•13h ago•200 comments

Alpine Linux 3.24.0 Released

https://alpinelinux.org/posts/Alpine-3.24.0-released.html
107•fossdd•2h ago•18 comments

Can LLMs Beat Classical Hyperparameter Optimization Algorithms?

https://arxiv.org/abs/2603.24647
95•galsapir•8h ago•15 comments

Show HN: GentleOS – A pair of hobby OSes for vintage 32-bit and 16-bit PCs

https://github.com/luke8086/gentleos32
84•luke8086•2d ago•88 comments

Emerge Career (YC S22) Is Hiring a Founding Growth Marketer

https://www.ycombinator.com/companies/emerge-career/jobs/v0S1AEG-founding-growth-marketer
1•gabesaruhashi•11h ago

Blaise v0.10.0: Native Back End, Threads and Incremental Compilation

https://github.com/graemeg/blaise/discussions/82
13•mariuz•1d ago•1 comments