Top
Best
New

Posted by tigerlily 3 days ago

jj – the CLI for Jujutsu(steveklabnik.github.io)
542 points | 493 commentspage 5
mi_lk 2 days ago|
Please update the "Stacked PRs" workflow article Steve...
steveklabnik 2 days ago|
I'll get there... someday...
PUSH_AX 2 days ago||
If it ain't broke...
BeetleB 2 days ago||
As a Mercurial user, git was broken from day 1 :-)
surajrmal 2 days ago||
I think there are a lot of things that work well but still get improved versions. For example, grep works well but there are plenty of better versions these days.
newsoftheday 2 days ago||
Really? I use grep multiple times per day, works great, I've seen no need to change. Same with git.
ai_slop_hater 2 days ago||
Unfortunately OpenAI's models really suck at JJ, while, on the other hand, Opus 4.6 is much better at it, probably due to a later training cut off.
QuiDortDine 2 days ago||
> $ cargo install jj-cli@0.23.0 --locked

I won't install Rust just to test your software. Make a debian package like everyone else.

harg 2 days ago||
I believe the full docs page does indicate that there are binaries to install via popular package managers [1]

[1]: https://docs.jj-vcs.dev/latest/install-and-setup/

QuiDortDine 2 days ago||
I did check that page, as far as I can tell you still need to run Cargo which I don't want to do because I don't care about Rust.

I'm not complaining for the sake of complaining, I'm saying if they want to play in the Big Boy leagues, they need to do things right.

steveklabnik 2 days ago||
You do need Cargo to build from source.

If you're on Arch, gentoo, or openSUSE, you can use the package. It is true that Debian has not packaged jj yet.

It'll get there, and it's fine if you'd rather wait until things are more mature.

saint_yossarian 2 days ago|||
It's available in Debian sid, although a few versions behind: https://packages.debian.org/search?searchon=names&suite=all&...
steveklabnik 2 days ago||
You know, I went and searched before I posted. I wonder why it didn’t come up! Thanks.
QuiDortDine 2 days ago|||
Thanks! I hope I didn't come off as too dismissive, I'm hearing a lot of good things about Jujutsu. As a developer though, I've never wanted to build from source (probably in the minority on that front).
steveklabnik 2 days ago||
Nah, you're right that installing a compiler toolchain to build a project is a pain in the butt if you don't already have it. It's a legitimate thing, but it does mean that you won't be adopting more cutting edge tools, which is also just fine! I've done the same with projects built with tools I don't have installed too.
rstuart4133 2 days ago|||
They do publish binaries they work perfectly well on Linux. No need for cargo:

https://github.com/jj-vcs/jj/releases/tag/v0.40.0

Philpax 2 days ago||
Immediately after that line:

> If you're not a Rust developer, please read the documentation to figure out how to install things on your platform

Rather selective reading we have here, don't we?

QuiDortDine 2 days ago||
I did! No apt install jujutsu. I also did 'apt search jujutsu'.

Don't ask me to care about yet another language's package manager, I already know way more than I wish to.

randyrand 2 days ago||
jj sounds awesome. I think I’ll give it a shot.

But I found this article a bit long winded and ended up asking an LLM about it instead.

lofaszvanitt 2 days ago||
Someone add attribute and rights handling to git. Plus empty dirs. And thats all.
octocop 2 days ago||
Nobody is asking for a git replacement? I keep seeing these posts and I don't know who wants them.
steveklabnik 2 days ago||
I wasn't asking. I loved git.

But then after trying jj, I wrote this tutorial because I love it even more.

crazygringo 2 days ago|||
Yes they are. I am. Many other people are too.

git was a great step forwards, but its conceptual model just doesn't map well to a lot of workflows, and some very simple things are very difficult or impossible with it. It was designed using a certain set of assumptions and primitives, and other assumptions and primitives turn out to be much more suitable for certain workflows.

I don't know if jj is the perfect answer, but it's a huge step forwards in many ways.

__turbobrew__ 2 days ago|||
The feeling I get with jj is it is almost like people are trying to convince others why jj is superior instead of just sharing that jj exists and let others decide themselves. It seems like every few months there is a jj post on HN which devolves into the narratives of “git works for me” and “but jj is better at X”.
chriswarbo 2 days ago|||
Exactly the same thing happened when git showed up (alongside the same things for bzr, darcs, hg, etc. too!)
ncphillips 2 days ago|||
Where X = something I’ve never wanted to do
klauserc 2 days ago|||
I definitely am. Haven't touched git in over a year. If there was just a single feature to point at where jj meaningfully improves on git, I think it's: `jj undo`.

It is a universal undo command. It works for every change in your repository. You don't need to memorize/google/ask claude how to revert each individual kind of operation (commit, rebase, delete branch, etc.). You try a jj command, look at your repo, and if you don't like what you see, you `jj undo`.

The biggest downside for me is that no longer have the necessary expertise to help coworkers who get themselves into trouble with git.

vaylian 2 days ago|||
You could have said the same thing about subversion.

Subversion is a fine VCS. But git offers a better approach with being offline-first and decentralized. It also makes merging branches a lot easier.

I don't know enough about jj to praise it, but I don't think git will be the last VCS that will become widely popular.

SatvikBeri 2 days ago|||
jj has almost 30,000 stars on github. You might not be looking for a different git ux, but plenty of people are!
baq 2 days ago|||
I'm asking for a github replacement, alas it might come from github itself with stacked PRs.

git is good, but jj is good, too. nobody asked for a better CVS either, until someone did.

andrewdea 2 days ago||
are you conflating github and git? I'm just confused as to how jj is a replacement to github
baq 2 days ago||
I'm not, github sucks, git is ok. Stacked PRs are what jj makes easy but is completely broken in github and as of today they're releasing a 'stacked prs' product which only makes jj better value when working with github vs git.
newsoftheday 2 days ago||
Agreed and not only that but for any comment on this page which raises a valid exception; there is a cadre of jj devotees ready to counter them if and where they think they can. It feels like someone had a some financial state in brainwashing the world to leave git for jj.
hi-im-buggy 1 day ago||
jj's mental model maps really well to Gerrit's code review system. It's also really nice to have `jj undo` and automatic rebasing.
eranation 2 days ago||
For those who switched, what is the main selling point that made you stay with Jujutsu?
tonfa 2 days ago|
For me, can do anything complex in terms of history rewriting without ever shooting myself in the foot (worse case just `jj undo`).

And the UI is pretty intuitive so don't really have to search for a solution, usually the command to use is obvious (tho I guess now you could delegate the UI to an LLM to ask it to give you the right incantations).

wolttam 2 days ago|
What happens when jj introduces this native repository format - break compatibility with all the popular git hosts?

If jj is so great now and works with git as a backend, it’s tough to imagine why it’s worth pursuing a native and presumably incompatible backend.

steveklabnik 2 days ago|
Nothing will break. You just keep using the git backend if you want to keep being compatible with git.

> it’s tough to imagine why it’s worth pursuing a native and presumably incompatible backend.

Well, there's no active work on a "native" backend. There are basically three backends right now:

1. the git backend

2. A simple backend used for tests, you can think of it almost like a mock backend, you wouldn't use it for real work, but it's still useful as part of the test suite

3. the piper backend at google

There's not a lot of reason for anyone to produce another open source "native" backend, because 99% of open source projects use git.

wolttam 2 days ago||
That makes sense, thanks for the reply. For some reason I was under the impression that there was an active drive towards a backend that was not git.
steveklabnik 2 days ago||
You're welcome. I think it's natural to assume that.
More comments...