Live data from Hacker News

Switch to Jujutsu Already: A Tutorial

stavros.io

121–130 of 164 posts

Re: Switch to Jujutsu Already: A Tutorial

#121
post #67

what im most impressed by when I read the comments to jj-related threads is how many people are handwriting assembly code. I come to this conclusion because there's always a large amount of people saying "if you dont understand, let alone have mastered, git, then you dont get to have an opinion" So, clearly these people similarly dont use ease-of-use abstractions like programming languages

Alright "touche" my guy, so original as well.

> if you dont understand, let alone have mastered, git, then you dont get to have an opinion

Eh Yeah kind of? If you use the wooden end of a hammer to try to hammer a nail, you don't get to complain that a hammer is a shitty tool for hammering nails without looking profoundly stupid. And complaining about people complaining about this is just ignorant.

Of course people are allowed to have opinions on git (or anything), but if your 2nd sentence is 'i have a command that deletes the .git folder and replaces it with a fresh copy', it shows that maybe the author is still in the hammering nails with the wooden part phase.

Re: Switch to Jujutsu Already: A Tutorial

#122
I appreciate Jujutsu, I mean, the Gracies basically proved its effectiveness to the world, however, combat sports don't suit every temperament. The intensity can also be a bit much for those with weaker constitutions. That said, wrestling predates humanity, so it's definitely worth checking out some variation.

Re: Switch to Jujutsu Already: A Tutorial

#123
post #122

I appreciate Jujutsu, I mean, the Gracies basically proved its effectiveness to the world, however, combat sports don't suit every temperament. The intensity can also be a bit much for those with weaker constitutions. That said, wrestling predates humanity, so it's definitely worth checking out some variation.

Personally, I found that while git often made me want to strangle myself, now I have someone else who will happily do it for me.

Great transition. Strong recommend.

Re: Switch to Jujutsu Already: A Tutorial

#124

Earlier quoted context omitted.

I don't have major pain points with git either (mainly just that rebase merge conflicts can get awful to deal with), but I just love jj and I'm not looking back. It turns out there were a lot of things that I was not doing with git because with git it would have been painful. Now my PRs are split into human-sized commits that each contain a set of changes that make sense together, and I keep moving changes around dur…

> Now my PRs are split into human-sized commits that each contain a set of changes that make sense together, and I keep moving changes around during development to keep the history tidy, until it's time to send the pull request. If a commit introduces a typo, the typo fix should go into that commit so the typo never happened in the first place and you don't get reviews like "please fix this" and then "oh wait I see y…

Of course! Likewise, you can do in C++ everything you can do in Rust. And yet Rust is there and fast growing in popularity. As it turns out, how to do things, and at the cost of what externalities, matters no less than what you can do.

Re: Switch to Jujutsu Already: A Tutorial

#125
post #54

one of the better jj writeups. People, just TRY it out.

It needs a newer Rust version than what is available in my packages and figuring out how to properly bootstrap Rust seams like too much work. And no I will not run the equivalent of curl|bash in anyway.

This might help you manage different versions of different tools https://mise.jdx.dev/

Mise and jj (and jjui) are my favourite tools, by far.

Re: Switch to Jujutsu Already: A Tutorial

#126
post #67

what im most impressed by when I read the comments to jj-related threads is how many people are handwriting assembly code. I come to this conclusion because there's always a large amount of people saying "if you dont understand, let alone have mastered, git, then you dont get to have an opinion" So, clearly these people similarly dont use ease-of-use abstractions like programming languages

Alright "touche" my guy, so original as well. > if you dont understand, let alone have mastered, git, then you dont get to have an opinion Eh Yeah kind of? If you use the wooden end of a hammer to try to hammer a nail, you don't get to complain that a hammer is a shitty tool for hammering nails without looking profoundly stupid. And complaining about people complaining about this is just ignorant. Of course people ar…

Jj is just simple to use - especially if you use it with jjui. It would never occur to someone to hit the nail with the handle.

Conversely, git requires a whole apprenticeship before you can be effective.

Moreover, there's MANY git "masters" who are effusive about how they'll never go back to git after switching to jj.

If it is just easier and better for beginners and experts, maybe it's just better.

Re: Switch to Jujutsu Already: A Tutorial

#127

Earlier quoted context omitted.

> Now my PRs are split into human-sized commits that each contain a set of changes that make sense together, and I keep moving changes around during development to keep the history tidy, until it's time to send the pull request. If a commit introduces a typo, the typo fix should go into that commit so the typo never happened in the first place and you don't get reviews like "please fix this" and then "oh wait I see y…

Of course! Likewise, you can do in C++ everything you can do in Rust. And yet Rust is there and fast growing in popularity. As it turns out, how to do things, and at the cost of what externalities, matters no less than what you can do.

I don't like C++ either, but yes that is also my opinion about Rust. I do already annotate ownership semantics in C, so I don't know why I need a compiler that is opinionated and tells me how I should structure my code. I think Rust would invoke much less resistance, if it weren't so opinionated.

As for jj, JJ and Git are much more close than C and Rust. JJ tends to have slightly less commands, but only because what are flags in JJ are separate commands in Git. The impression I get from these posts, is that it would have been doable with similar effort in Git, but they just never bothered.

Also I prefer refining stuff we already have instead of throwing it all in the bin and stating it's obsolete.

Re: Switch to Jujutsu Already: A Tutorial

#128
post #125

Earlier quoted context omitted.

It needs a newer Rust version than what is available in my packages and figuring out how to properly bootstrap Rust seams like too much work. And no I will not run the equivalent of curl|bash in anyway.

This might help you manage different versions of different tools https://mise.jdx.dev/ Mise and jj (and jjui) are my favourite tools, by far.

Well the issue I have is that I don't want more than one package manager on my system, and I prefer it to be from the OS, because I already need to trust this by necessity.

In my opinion having multiple package managers only complicates the system and causes more problems then it solves. In fact I think the package manager is the OS. I can swap out the kernel and all the userspace with it, but changing the package manager will be disruptive.

Re: Switch to Jujutsu Already: A Tutorial

#129
post #51

Earlier quoted context omitted.

git is both a (bad) UI and a protocol. Jujutsu is a UI on top of git (the protocol). There's nothing wrong with taking the time to learn how to use a bad UI, especially if there's no other option. But don't mistake your personal mastery of git for evidence that it's better than jj. In all likelihood, the git proposal you allude to would not extend further than adding a bit of persistent metadata that follows commits…

Small point of order, jj is a VCS with a pluggable backend, one of which is git. That’s a bit different than a UI on top of the git protocol.

Yes - but only a bit! And personally I still like it as a reference point when I tell people about it - because in the end, it mainly affects what they see of the repo and how they interact with it, and the result is still a valid git repo (if they've colocated).

Re: Switch to Jujutsu Already: A Tutorial

#130
post #49
post #40

In the past 2 months, I saw 3 articles about JJ. Always the same starting point: "I don't understand how git works". If you can't understand git, one of the most used tool in the whole industry, this is a *you* problem. You MUST take the time to understand how it works properly. Every job you'll get and every projects you'll work on will use a Version Control (at least I hope). Abstracting this knowledge by using a t…

I am a git expert and I very much prefer jj. It enables workflows that are impractical with git. It’s hard to even imagine these workflows if you only use git because your thinking is constrained by the limitations of your tools. Git rebase is like programming with punch cards compared to jj’s rebase being like writing Python. https://ofcr.se/jujutsu-merge-workflow/

Since you're a git expert, you understand the underlying mechanics of your tool and you can explain to me why a command like Git rebase is better in JJ than in git.

Which every articles I read on JJ failed to do correctly.

My point is not to avoid using other tools to do your job. My point is that if you don't understand something, using a layer on top of it won't help you at all understand things in the long run.

I want to see JJ articles made by Git experts; not JJ articles made by people who fear Git lol

Post reply on HN