I guess they'll just copy submodules too. Kind of feels like there's little point using it if it's just going to copy Git's mistakes.
Since conflict resolution these days mostly boils down to “hey LLM, resolve conflicts” this is much nicer.
Also jj tracks every change to the repo so undo works much better and is more readable than reflog
Not having to stage changes in lieu of them automatically getting picked up was a bit of a learning curve for me, but now that I've gotten used to it I like it a lot better and I don't think I could go back. The equivalent of the reflog pretty much always has my changes in it if I accidentally lose them without manually saving due to the snapshotting, and I have no need for a stash because commits and branches are essentially just recording a checkpoint rather than being things that feel "heavyweight".
As an added bonus, dealing with conflicts is a lot less annoying because each commit records its conflicts separately, so fixing them doesn't require doing a stateful pipeline of changes in a big rebase; I can just do them piecemeal, in any order I want, and even just check out other stuff and work on them before coming back later if I feel like it.
I was "that guy" who would sometimes have coworkers come for help with git problems (https://xkcd.com/1597/ alt text). I've forgotten most of that knowledge (and all of that muscle memory) and didn't have to learn nearly as much to replace it with the ability to do a lot more with a lot fewer mistakes.
I don't think harness like Claude Code or Codex support jj very well for working in parallel
it is built, though, that the Git backend can be swapped for another backend.
I'm not sure where you're getting two production backends from. I guess you're referring to the Google internal one that nobody can use?
> There is currently only one production-ready builtin commit backend: the Git backend. <omitted> Google also has its own cloud-based backend.
https://docs.jj-vcs.dev/latest/glossary/?utm_source=chatgpt....
No, git-branchless is a wrapper around Git. jj is an independent source control system with git compatibility. jj can, and does, function entirely without git.
> I'm not sure where you're getting two production backends from. I guess you're referring to the Google internal one that nobody can use?
Lots of people within Google use it!
If you work at Google, jj can and does function without Git.
If you do not work at Google, jj is a Git wrapper.