Live data from Hacker News

Steve's Jujutsu Tutorial

steveklabnik.github.io

61–70 of 120 posts

Re: Steve's Jujutsu Tutorial

#61

Earlier quoted context omitted.

Does "in a minute" mean "not for a long time"? Because that's how my kids use that phrase. English is so great and so confusing!

It means both "in a long time" and "in a short time", depending on context and intonation.

Yep, isn’t language grand?

Re: Steve's Jujutsu Tutorial

#64
post #24

I really like Jujutsu but I went back to Git because there wasn't a Neovim plugin with features comparable to Neogit or Fugitive. I even started writing one but that was a pretty big project and I lost the motivation for it.

I’ve heard people say similar things about magit. Tooling matters a lot, for sure.

Re: Steve's Jujutsu Tutorial

#65
post #41

Earlier quoted context omitted.

Interesting. I'm not a professional developer and also love fossil for toy/hobby projects. I find it fascinating that this well crafted, solid piece of software is so forgotten, and that git has just rolled over everything.

Honestly you could sell me the best alternative to Git that exists and I still wouldn’t switch, or even try it. I don’t care enough about my versioning system to use something else than what everybody uses. Ubiquity beats convenience. What I care about is the tooling around it: GitHub and its ecosystem mainly. I also want my open source projects to be on GitHub specifically, and I don’t want to ask contributors to us…

Totally respect you wanting to not care about tools, but for the latter part, I do agree with you, which is why I like jj: it uses a git repo as its backing store, so your projects can live on GitHub and all the rest of your collaborators can use git. Nobody else needs to know or care.

Re: Steve's Jujutsu Tutorial

#66
post #41

Earlier quoted context omitted.

Honestly you could sell me the best alternative to Git that exists and I still wouldn’t switch, or even try it. I don’t care enough about my versioning system to use something else than what everybody uses. Ubiquity beats convenience. What I care about is the tooling around it: GitHub and its ecosystem mainly. I also want my open source projects to be on GitHub specifically, and I don’t want to ask contributors to us…

Totally respect you wanting to not care about tools, but for the latter part, I do agree with you, which is why I like jj: it uses a git repo as its backing store, so your projects can live on GitHub and all the rest of your collaborators can use git. Nobody else needs to know or care.

Wow I’ve heard about jj multiple times before but didn’t realize it was compatible with Git. You got me interested in just 1 sentence, nicely done!

Well, guess I’m on my way to read the tutorial.

Re: Steve's Jujutsu Tutorial

#67
post #66

Earlier quoted context omitted.

Totally respect you wanting to not care about tools, but for the latter part, I do agree with you, which is why I like jj: it uses a git repo as its backing store, so your projects can live on GitHub and all the rest of your collaborators can use git. Nobody else needs to know or care.

Wow I’ve heard about jj multiple times before but didn’t realize it was compatible with Git. You got me interested in just 1 sentence, nicely done! Well, guess I’m on my way to read the tutorial.

Glad to hear it! It’s a killer feature, for sure.

Re: Steve's Jujutsu Tutorial

#68

Would be great if it was Pijul that got Steve's attention. Sometimes it's all you need to achieve a lot.

I’ll just be honest with you: Pijul never really caught my interest, but I always felt pretty neutral about it until I started noticing the project authors acting very snide and aggressive on here. That is not something I want to be around these days, and so I doubt I’ll ever try Pijul.

It's a little surprising to hear, from what I've seen here there's not much besides the usual whiff of academical loftiness, but nothing that I'd qualify as aggression.

What caught my interest:

* Separate operations and data

* Partial repos = no big repo issues, no need for shallow clones and such

* Proper and easy merging with no shuffled lines

* Patch-based model is much more intuitive (e.g. rebase and merge are the same operation)

* Conflict resolutions are stored and can be reapplied!

Re: Steve's Jujutsu Tutorial

#69

> I also heard friends rave about "stacked diffs" but struggled to understand what exactly was going on there. Nothing I read or conversations I had have clicked. I wonder what it is about descriptions of stacked diffs that doesn't land - it's literally just a rebase-centric workflow instead of the merge-centric workflow popularised by GitHub et al.

For me, my git brain is very low level. And none of them ever explains what actually happens under the hood, or how that was different than branching… With some respect, I think “rebase centric workflow” doesn’t really cover it: I use rebasing heavily with GitHub. A “trunk based development where all branches are rebased before merge so there’s never merge commits, please add to commits and rebase the branches in res…

The holy grail of a stacked diff workflow would be making multiple Github PRs each made against the previous branch instead of trunk, and then updating the branch that's closest to trunk and rebasing all of the children PRs without having to force push into any of them.

Git and Github do not support this workflow directly, and this creates space for all the other tools.

Jujutsu comes close to supporting this workflow directly, without having to provide any specialized utilities that mention "stacked diffs" at all.

https://github.com/spacedentist/spr (not to be confused with ejoffe/spr) is a utility that maps a local change to a remote branch, updating the branch (without force pushes) when the local change is updated. (Changes work the same as they do in JJ, but the implementation is different.) And this works even when you have a stack of changes and update one in the middle of the stack.

Re: Steve's Jujutsu Tutorial

#70

I get that naming is one of the hardest problems in computer science, but naming software after a martial art is just lazy and will lead to problems with things like searches

If it helps, they actually named it after their desired CLI abbreviation:

> The command-line tool is called jj for now because it's easy to type and easy to replace (rare in English). The project is called "Jujutsu" because it matches "jj".

Post reply on HN