Live data from Hacker News

Jujutsu for busy devs

maddie.wtf

201–210 of 552 posts

Re: Jujutsu for busy devs

#202
I've never tried jj, but recently I discovered lazygit which in my opinion comes pretty close to perfection.

Rebasing can be done instantly (reorder commits, fixups, squash), I can extract and reverse custom patches from previous commits, I can partially stage files, undo.

One think I like is that it explains what it does in terms of git commands. So it helps a little to have a good git mental model, and as such I guess it doesn't solve the same thing as jj.

Re: Jujutsu for busy devs

#203
post #33

For anyone who's debating whether or not jj is worth learning, I just want to highlight something. Whenever it comes up on Hacker News, there are generally two camps of people: those who haven't given it a shot yet and those who evangelize it. You will be hard-pressed to find someone who stuck with it for a week and decided to go back to git. You will not find a lot of people who say they switched but just stayed out…

You can consider your perfect conversion rate now broken; I tried jujutsu on a personal project and found it to be a hassle without any upsides.

I believe your perception is flawed because the people who just try it and throw it away don't tend to talk about it because it's not popular enough to warrant even a twitter comment. This is the first time I got the impulse to share this but only because you claimed a rather silly 100% conversion rate.

Re: Jujutsu for busy devs

#204
post #11

Earlier quoted context omitted.

It’s not just that it’s simpler, it’s that the primitives and interaction model are also strictly more powerful. A ton of extremely useful workflows that are an utter pain in the ass with git are absolutely trivial with jj. One example is a series of dependent PRs. This is excruciating in git if you ever need to make a fix to an earlier PR because you have to manually rebase every subsequent change. It’s trivial in j…

> This is excruciating in git if you ever need to make a fix to an earlier PR because you have to manually rebase every subsequent change. Spreading the word about `git rebase --update-refs` that will automatically update any branches that point to commits along the path (very useful with stacked branches). It is less convenient than what jujutsu offers (you need to know the branches to update, where jujutsu automati…

There isn't really any "can't switch to another tool" when it comes to git + jj. You can use it today without anyone on your team knowing - other than that your PRs suddenly became much cleaner

Re: Jujutsu for busy devs

#205
post #11

Earlier quoted context omitted.

It’s not just that it’s simpler, it’s that the primitives and interaction model are also strictly more powerful. A ton of extremely useful workflows that are an utter pain in the ass with git are absolutely trivial with jj. One example is a series of dependent PRs. This is excruciating in git if you ever need to make a fix to an earlier PR because you have to manually rebase every subsequent change. It’s trivial in j…

> The subsequent revisions are updated automatically How do you make sure, that a commit isn't changed under you, because someone thought, it would be a good idea to change an earlier revision? I think having immutable commits including all the previous history is a feature, not a bug.

Jj treats any public/pushed commits/branches as immutable by default.

Re: Jujutsu for busy devs

#207
post #202

I've never tried jj, but recently I discovered lazygit which in my opinion comes pretty close to perfection. Rebasing can be done instantly (reorder commits, fixups, squash), I can extract and reverse custom patches from previous commits, I can partially stage files, undo. One think I like is that it explains what it does in terms of git commands. So it helps a little to have a good git mental model, and as such I gu…

This is the reason I have not gone the jj way.

Re: Jujutsu for busy devs

#208
post #46
post #30

Earlier quoted context omitted.

Git is nearly universal, so highlighting the areas where jj makes things that are painful in git trivial and obvious isn't exactly a bad strategy. It's also worthwhile pointing out that it is interoperable with git, so your company and team don't have to change just because you do. > Am I the only one bad with memorizing SHAs when reading? I haven't ever needed to memorize a SHA or change ID with jj. What are you ref…

I was referring to tutorial(s), which refer to commits just by hashes. It is very hard to read for me. While git is nearly universal, my concern was about leaning jj and what it is useful for, what are its limitation etc.

But in jj you can refer to commits, changes etc by the shortest unique substring in its hash, and it automatically highlights what that is

sjenfidb skeifixu

These could be referred to as sj and sk. And their associated git commit hash might be

2748dn49 48jdj40r

Would be 2 and 4

Again, the output highlights those unique prefixes.

But there's also jjui, which is an incredible TUI for jj. Makes everything even simpler and efficient than it already was.

https://github.com/idursun/jjui

Re: Jujutsu for busy devs

#209
post #33

For anyone who's debating whether or not jj is worth learning, I just want to highlight something. Whenever it comes up on Hacker News, there are generally two camps of people: those who haven't given it a shot yet and those who evangelize it. You will be hard-pressed to find someone who stuck with it for a week and decided to go back to git. You will not find a lot of people who say they switched but just stayed out…

this still doesn't imply it is worth checking out.

Re: Jujutsu for busy devs

#210

JJ needs a GUI. I tried twice to switch for a project, both times came back to git. But then, I am still not fully grokking the "why bother", and suspect that if I had a UI it would be both less friction, and more understanding.

There's lots of TUIs and even some GUIs (including a vs code extension), but the best by far is jjui

https://github.com/idursun/jjui

Post reply on HN