Comment by MarkSweep

6 days ago

Some other interesting tools in the space. Rust is using a tool called Josh to sync commits:

https://josh-project.dev

The blog post from the Rust people:

https://blog.rust-lang.org/inside-rust/2026/06/04/how-josh-h...

Meta used to have an open source tool called fbshipit. But according to its open source repo they no longer use it:

https://github.com/facebookarchive/fbshipit

Any others in this space?

git subtree was the OG tool: https://apenwarr.ca/log/20090430

It has since been merged into git proper:

https://manpages.debian.org/testing/git-man/git-subtree.1.en...

https://docs.github.com/en/get-started/using-git/about-git-s...

  • The rust blog post covers this. Subtree performance is terrible on larger repos and they didn’t land something that would fix it on medium sized ones. That’s why they went with a better maintained solution that scales.

    • Plus Josh seems to do waaay more - dynamically exposing monorepo directories as a separate repo.

      I wish all the effort into things like JJ and Pijul was going into solving those sorts of things instead!