Live data from Hacker News

Defeating Git Rigour Fatigue with Jujutsu

ikesau.co

11–20 of 193 posts

Re: Defeating Git Rigour Fatigue with Jujutsu

#14
post #7
post #5

So: Squash everything together then pick each component out by squash -i to an empty commit. Seems straightforward, wouldn’t call it special

I think jj will never gain momentum because people only have a git mental model at this point, so won't be able to effectively reason about jj.

[deleted]

Re: Defeating Git Rigour Fatigue with Jujutsu

#15
post #7
post #5

So: Squash everything together then pick each component out by squash -i to an empty commit. Seems straightforward, wouldn’t call it special

I think jj will never gain momentum because people only have a git mental model at this point, so won't be able to effectively reason about jj.

I spoke about this before, but jj has the Blub Paradox problem, from the pg's essay Beating the Averages (https://paulgraham.com/avg.html).

Yes, you can do most commit manipulations with git just like with jj. But, users of jj know they're "looking down the power continuum" (to reuse pg's terminology) when they look at git, whereas git users cannot fathom what's exactly the deal with jj. Unfortunately, the only way to get it is to spend a week with it, with an open mind. It's close to impossible to describe it except "it's really neat" and "wow it removes all git's friction I didn't know existed".

And, apparently, there's a pattern of having to try at least two times before it becomes intuitive!

Re: Defeating Git Rigour Fatigue with Jujutsu

#19
post #9

> `absorb` assigns the changes based on whichever previous commit most recently touched those files, which sometimes doesn't actually correspond to which commit should own these particular changes. I’m pretty sure `jj absorb` (and its predecessors, `git-absorb` [0] and `hg absorb`) are smarter than this, instead looking at the actual diffs. [0]: https://github.com/tummychow/git-absorb

Also `sl absorb`.
Post reply on HN