Hacker News new | ask | show | jobs
by krackers 31 days ago
>You don’t need easy named branches.

You can't possibly see a use-case for long-lived branches? Say what you will of git, at least it exposes enough knobs that it can mostly accomodate every workflow (possibly with a heavy porcelain layer to hide the plumbing). JJ seems to swing too far in the other direction, great for a "live on head" mentality but less ideal for other setups.

(The fact that all edits are automatically recorded is my personal peeve with JJ. I'm ok with lack of staging area like in Mercurial, but mercurial doesn't try to automatically amend the commit with my pending changes. Sure I can pretend that "@" is my staging commit then squash as needed, but then I also need to remember that checking out a commit is "jj new" which feels like absurd mental gymnastics to me.)

1 comments

You can turn off auto-tracking.
Last i checked that only disables tracking of new files, it doesn't do anything to prevent the "auto-amend" behavior for modified files.
Honestly it took me about two days before I just got used to it. You can change `git checkout blah` into `jj new blah`.
Oh and one more thing I forgot: in git a lot of operations require you to have a clean checkout. Otherwise you have to stash your changes first before doing that operation. With jujutsu’s model, there is no stashing. Every edit is already part of a commit. Therefore you can totally do rebases even when you are in the middle of some other unrelated change.