| I would never work with hg anymore since and I consider git much and much more flexible from both user and scripting perspective. Yes, git also suffers of command inconsistency, and unfortunately it seems to be never fixed. > You can UNDO. Everything. That is the major thing Everything is what? The things git cannot undo is removing untracked files (well they're untracked) on git-clean, or files added to the index for the first time and then reset. Maybe rebase in mid-rebase is a way to lose some changes so one has re-rebase again (it's really annoying, but reflog holds all rebase changes if I recall). I can't really see what you mean. > You can switch from one `branch` to `another` and leave things incomplete, even conflicts, that is nice. It's nice. I use git-worktree for multiple branches I work on, so my working copies may remain dirty even in conflict stage. > The command made sense It's nice. > Nobody else knows you use `jj`, so no barrier to adoption. It's really nice, but I'm not sure whether I understand it, but does it work as a front-end tool over git/other VCS? > Rebases are not painful anymore. Stacking prs are finally nice to author, even of NOBODY ELSE KNOW IT! I don't get it. What does make rebase hard? It's just re-applying a bunch of patches or possibly merges on top of the new base, and it doesn't even require interactive mode. Interactive mode makes magic I'm happy with. Seriously, what's wrong with it? |
> but does it work as a front-end tool over git/other VCS?
citing from the article
> Before we dive in, one last thing you should take note of, is that most people use jj with its Git backend. You can use jj with your existing Git repos and reap its benefits in a way that is completely transparent to others you’re collaborating with. Effectively, you can treat it like a Git frontend.
> I don't get it. What does make rebase hard?
It's hard when you work on a set of stacked PRs and make frequent changes to arbitrary PRs in that stack, because every time you make a change, you have to manually rebase and push all of the other PRs. There's SaaS's specifically built and used for solving this problem in Git[1].
Maybe hard is the wrong word, it's just annoying and tedious. jj makes this completely seamless, as shown in the article[2].
[0]: https://kubamartin.com/posts/introduction-to-the-jujutsu-vcs...
[1]: https://graphite.dev/
[2]: https://kubamartin.com/posts/introduction-to-the-jujutsu-vcs...