←back to thread

Jujutsu for everyone

(jj-for-everyone.github.io)
436 points Bogdanp | 1 comments | | HN request time: 0.212s | source
Show context
idoubtit ◴[] No.45085587[source]
I've now seen a dozen of articles that explain that jj is wonderful and better than Git for everything. This tutorial is of the same kind. Now that I've read extensively about the good part, I'd be more interested by the bad and the ugly. Because my experience with jj was more balanced.

When I tried jj, I found a few pain points that made me return to Git. For instance, I was sharing a branch with a co-worker where we were just piling commits as soon as they were ready (after `pull --rebase` if necessary). Since jj doesn't have names branches, that workflow was easy with git and tedious with jj – even with the `tug` alias. The process in the "Tracking remote bookmarks" chapter of this tutorial still doesn't look nice to me.

Another pain point was that jj could not colocate with light clones, like `git clone --filter=blob:none`. Maybe that's fixed now.

replies(7): >>45085702 #>>45085823 #>>45085842 #>>45085897 #>>45086038 #>>45089721 #>>45095158 #
1. dolni ◴[] No.45095158[source]
I ran into one thing with jj that I would say is pretty bad. I love it other than the way it bit me in this one case.

I have a repo with some code that generates a credential and writes the credential to a location specified in .gitignore so it isn't picked up by version control.

I used `jj edit` to roll back to a change before the credential path was added to the ignore file to make an unrelated change.

The result? jj instantly started tracking the credential and I didn't notice it before pushing to GitHub.

Fortunately I did figure it out pretty quickly, but that could have gone very poorly.

See also https://github.com/jj-vcs/jj/issues/7237.