News for hackers. Stuff that matters.
Re:jj: a Git-compatible VCS that is both simple and powerful by motorest on Wednesday February 12, 2025 @07:03AM (#43024488)
> I think that's actually one of the nice things about JJ (...)

No one uses jj. You need to go way out of your way to install something like jj. It makes no sense to install jj so that they can install something else.

Not so with Git. Git is so popular that it comes pre-bundled with other critical software, and some OS distributions even install it by default.

Git is a problem-solver. JJ is a solution desperately looking for a problem, for which the right solution is already Git.

Re:jj: a Git-compatible VCS that is both simple and powerful by KingMob on Wednesday February 12, 2025 @07:50AM (#43024893)
> Git is a problem-solver.

Git is also a problem-causer. The existence of sites like ohshitgit.com is testament to that. Git has wasted thousands of developer years with a terrible UI, overly-complex concepts, and lack of basic undo.

Some people have internalized, or worked around, git's flaws for so long, they can no longer even see them as such.

Re:jj: a Git-compatible VCS that is both simple and powerful by usrbinbash on Wednesday February 12, 2025 @08:55AM (#43025436)
> The existence of sites like ohshitgit.com is testament to that.

It's a testament to worldwide adoption first and foremost. If `jj` had the same adoption, there would probably be similar sites about it. No tool is perfect, and all have their quirks.

Re:jj: a Git-compatible VCS that is both simple and powerful by MrJohz on Wednesday February 12, 2025 @05:16PM (#43030352)
I'm not sure that's a given. Lots of things have reached worldwide adoption and don't have the reputation that Git has. Bash, for example, is quirks and chaos galore, and I don't think even that has the same level of infamy that Git has. In fact, if we use the metric of "snarky XKCD cartoons about this topic", which is probably a good proxy for how popular a tool is vs how many serious problems it creates, Git is up there with Python packaging and regular expressions.

You're right that all tools have their quirks — jj is surely no exception. But it seems like bad engineering and a lack of curiosity to look at the quirks in a tool and not ask if we can do better. How much of a tool's difficulty represents the underlying complexity of the problem it's solving, and how much is just incidental complexity from the tool itself?

In this case, I think the core of Git (the underlying model of commits and refs and objects) does a really good job of being exactly what's necessary and no more, but the UI of Git (i.e. all the commands and surrounding paraphernalia) has a lot of incidental complexity. That is, there are simpler and cleaner ways to represent a lot of the stuff that's happening in Git. This, I think, is why a lot of people struggle with Git — not just because version control is hard (although it is), but because Git as a tool is additionally hard on top of that. And I think it's reasonable to look for better ways of doing version control that don't have as much incidental complexity.

Re:jj: a Git-compatible VCS that is both simple and powerful by usrbinbash on Thursday February 13, 2025 @07:25AM (#43035195)
> Git is up there with Python packaging and regular expressions.

Probably. And neither Python Packaging nor regular expressions will be replaced by anything in the next few decades, for the same reasons why `jj` is unlikly to replace git, for the same reason why rust won't replace C, and the same reason why, 20 years from now, people will still have jobs fixing Java and PHP code.

> But it seems like bad engineering and a lack of curiosity to look at the quirks in a tool and not ask if we can do better.

No one is demanding that we stop asking. But as engineers we cannot just consider "better", we also have to consider "practical". And in practical, pragmatic considerations, "technically better" simply isn't enough to displace an entrenched tool. That is a fact, whether people like that or not.

I like the ideas of jj. I cheer the development. Will I replace my git with jj in the forseeable future? No. Why? Because pragmatic reasons.

To replace an entranched tool that does its job and has wide adoption, a new thing needs to offer absolutely astonishing advantages that become "must-have" just by the merit of their existence. And even then, the ROI of these advantages have to offset all the technical and logistic pain of switching from one to the other.

> but the UI of Git (i.e. all the commands and surrounding paraphernalia) has a lot of incidental complexity.

There is no shortage of wrappers around git abstracting the nitty gritty to nearly any level of complexity desired. I use vim-fugitive for example. GUI abstractions as well as CLI tools and TUI wrappers exist.

Re:jj: a Git-compatible VCS that is both simple and powerful by sunshowers on Thursday February 13, 2025 @06:35PM (#43042866)
> And in practical, pragmatic considerations, "technically better" simply isn't enough to displace an entrenched tool. That is a fact, whether people like that or not.

10% better isn't. 10x better is. Jujutsu is 10x better.

Re:jj: a Git-compatible VCS that is both simple and powerful by usrbinbash on Friday February 14, 2025 @12:44PM (#43050904)
And this assumption is based on ... what exactly?
Re:jj: a Git-compatible VCS that is both simple and powerful by sunshowers on Friday February 14, 2025 @02:05PM (#43051831)
My long professional history working on source control.
Re:jj: a Git-compatible VCS that is both simple and powerful by usrbinbash on Monday February 17, 2025 @08:06AM (#43078571)
I am not asking for opinions, I am asking for metrics.

10x is an arithmetic operation. Therefore, to make such an assumption, there has to be a quantity that operation can be applied to.

So, by what quantifieable metric is jj "10x better" than git?

Re:jj: a Git-compatible VCS that is both simple and powerful by martinvonz on Monday February 17, 2025 @08:20AM (#43078718)
I'm not sunshowers, but I think the point isn't the exact number or a way of measuring it. For example, the reason I prefer to write Rust over C++ is not that I have measured it to be 2.6X faster for me to work with. My interpretation of what sunshowers was saying was more like "'technically better' can be enough, depending on much better it is, and I think Jujutsu is a big enough improvement [for me] that it's worth it".
Re:jj: a Git-compatible VCS that is both simple and powerful by steveklabnik on Monday February 17, 2025 @11:20AM (#43080498)
(Also not sunshowers)

For me, the important metric here is the intersection of two things: number of concepts, and power. I moved from svn to git relatively early in Git’s life; I started using GitHub in 2008. I’ve loved git for a long time.

jj has the ability to do everything git can, but has fewer primitives that are factored better. This means it is easier to use, while still retaining the ability to do anything.

I don’t know if that’s 10x, but it’s good enough for me that I’m never using git again.

Re:jj: a Git-compatible VCS that is both simple and powerful by sunshowers on Friday February 21, 2025 @06:59PM (#43134638)
I mean 10% and 10x metaphorically, the point being jj is much much much much better than Git. But I wouldn't be surprised if a dev can go from zero to being able to do complex history editing in jj, 10x faster than the same in Git.
Re:jj: a Git-compatible VCS that is both simple and powerful by usrbinbash on Monday February 24, 2025 @11:46AM (#43161660)
> the point being jj is much much much much better than Git.

And I'll happily repeat: By what metric is it "better"? So far, I have heard your opinion, not metrics.

Re:jj: a Git-compatible VCS that is both simple and powerful by KingMob on Thursday February 13, 2025 @01:17AM (#43033214)
Both things are true at the same time.

Git is wildly popular, and a large part of that is its solid and fast technical underpinnings. Unlike its open source predecessors (svn/cvs), it excelled at distributed development.

At the same time, git also has a terrible CLI, combined with unnecessarily complexity like staging, stashes, rebase states, etc. This has been true from the beginning. Mercurial was built at the same time (also by a linux kernel dev!), and was generally considered to have a much better CLI and mental model. I think hg lost out despite that because it was slower than git, and didn't have Linus behind it.

Re:jj: a Git-compatible VCS that is both simple and powerful by fragmede on Wednesday February 12, 2025 @01:47PM (#43028393)
> No one uses jj.

Plenty of people use jj. It just doesn't seem like that to you because it's client-side.

Re:jj: a Git-compatible VCS that is both simple and powerful by baq on Wednesday February 12, 2025 @03:23PM (#43029370)
citation needed. also, define plenty. 1% of git total user base is plenty in nominal terms, I agree, but it's still 1%.
Re:jj: a Git-compatible VCS that is both simple and powerful by fragmede on Wednesday February 12, 2025 @03:30PM (#43029439)
It's more than zero ie "no one", so GP is obviously wrong.
Re:jj: a Git-compatible VCS that is both simple and powerful by baq on Wednesday February 12, 2025 @03:44PM (#43029590)
technically correct and completely missed the point.
Re:jj: a Git-compatible VCS that is both simple and powerful by martinvonz on Wednesday February 12, 2025 @06:49PM (#43031070)
It's hard to find that information because neither git nor jj report usage information to a central place. The best I've been able to find is number of Homebrew installs, which says ~1.2k 30-day install for jj and ~162k for git, so it's about 0.7% based on that number. Who knows how many of those installs (of either tool) are actually used as the person's daily driver.
Re:jj: a Git-compatible VCS that is both simple and powerful by necauqua on Thursday February 13, 2025 @05:30PM (#43042294)
I guess you don't use anything that's not preinstalled on your OS distribution then, lol

Jesus, what a hater Maybe one day you'll become self-aware

Re:jj: a Git-compatible VCS that is both simple and powerful by sunshowers on Thursday February 13, 2025 @06:33PM (#43042854)
It's quite offensive to suggest that the people who built Jujutsu just did it for kicks. "[A] solution desperately looking for a problem"? Really? These are extremely competent engineers, world experts in the field.

It might behoove you to be a bit more curious about the deep intellectual lineage behind Jujutsu.