Jujutsu is essentially an alternative front-end or “porcelain” to git, both magnificiently simplified and powerful.
I tried it after using Emacs Magit for about six or seven years, and jujutsu is really easier to use than git and useful if one wants a tidy public history of changes (with “tidy” and “public” as Linus Torvalds recommends). Plus it is fully compatible to git as backend - other contributors will not even note you are using it.
Yeah you can undo undo and also resurrect undone states.
If the readability of the commit history really does not matter to you - for exsmple, nobody needs to read this code again - it’s possible that jj does not give you enough advantage. Everyone works different.
I mean… It does and I will use git to manage commit histories as necessary. I don’t see
jj
as solving that problem or even making it easier. Doing a single squash-commit or arebase -i
when I merge a branch is relatively trivial.And from what I can tell it’s much easier to do a
git pull upstream master
than to dojj new skdfsld dskfjas
since you’ll likely have to lookup those hashes? I mean I wouldn’t remember them.One takes them from the last commit log and uses the first few letters. Steve Klabnik shows how they are used in practice. It makes no sense to repeat it here.
So - it’s not the length of the random garbage that is the issue it’s the fact that it’s random garbage that I have no chance of remembering after 5 seconds and switching between branches. All my branches are instead random hashes that I’ll need to lookup or remember.
I’ve read through the blog. It sounds like they’ve taken the minor inconvenience of doing a
git merge --squash
and distributed that pain across every-single-commit you’re ever going to make instead. All to get “tidy commits” which were possible before anyway.I was actually rather interested in the idea of jj being something that made history-rewriting easier (e.g. for removing bad commits with passwords and the like). But the fact that it almost completely throws out the entire concept of working on named branches (yes you can have them - but “One interesting thing about branches in jj that’s different than branches in git is that branches do not automatically move.” - genius) is just ridiculous. And to claim that it’s now simpler just seems like gaslighting.
So you think that git has already a perfect user interface?
Don’t be stupid.