←back to thread

94 points vincent_s | 10 comments | | HN request time: 0.369s | source | bottom
1. v3ss0n ◴[] No.40915255[source]
This getting spammed but developers .. they are afraid to change from git . Mercurial was much better than git in workflow and architecture wise and nobody care enough due to GitHub popularity. This will go the same , as well as sapling.
replies(3): >>40915891 #>>40917266 #>>40919151 #
2. stouset ◴[] No.40915891[source]
As a counterpoint, jj has extremely good git interoperability.

I and another teammate have switched over for several months and nobody on our team needs to know or care.

replies(2): >>40917500 #>>40924561 #
3. aseipp ◴[] No.40917266[source]
Jujutsu supports using Git repositories as the underlying repo format, in fact you can even run most of your `git` commands in the exact same repository -- and it is otherwise unnoticeable to anyone beyond yourself, barring customized setups. And we're committed to supporting and improving our Git integration, as long as Git is useful, and our users need it. We're not going anywhere :)
4. krick ◴[] No.40917500[source]
Props to you, but this doesn't change my mind. VCS is intrinsically meant as a collaboration tool. If something goes wrong "jj did it" won't be a good excuse. If one needs to communicate his workflow to another, he better doesn't start with "well, you just install jj and...", he needs to explain, how to do that in git. If there is a junior dev on the team and I need to teach him common practices, I need to do that in the same personal-preference-agnostic manner, so I shouldn't teach him jj instead of git, even if I use it personally. Long story short, you need to be fluent in both, and even though I know git pretty well, I wouldn't even say I'm fluent in git: most of the time my fingers type stuff I don't conciously remember anymore, often relying on aliases and Ctrl+R. This is additional complexity, and it feels to me like I need it to be something HUGE to actually justify that.
replies(1): >>40918579 #
5. stouset ◴[] No.40918579{3}[source]
Honestly this is a ridiculous take.

Git is the native backend for jj. It is extremely reliable. There is no reason for "things to go wrong" uniquely to jj, particularly if you take basic precautions like forbidding force-pushes to master/main. For that matter plenty of people make mistakes with git itself, and having used both (and being a power user of git) I can confidently claim that there is significantly less surface area for mistakes with jj than there is with git.

I have never, in 25 years of software development, needed to "communicate my workflow" with another engineer. It's understood that if I use a different tool than the rest of my team, I'm on the hook for knowing any differences in the workflow. But it's not even like this is unique to jj; my team uses a variety of editors/IDEs, operating systems, and shells. I use macOS, fish, VS Code, and jj. Others use nix, zsh, vim, and git. Somehow we all manage.

The worst part is that your argument is trivially rewritten to discourage trying anything new. This is frankly a terrible mindset to have.

If you don't want to learn a new tool, by all means don't. But not learning anything that might be different than what other people on your curent team use is a great way to completely stagnate your growth.

That said, the argument I was responding to was that this can never take hold because of git's dominance. My point was that use of jj can grow organically since one person converting doesn't actually require the entire team to do so. Whether or not you're particularly hesitant to adopt new things is irrelevant; individuals can switch whenever they feel appropriate and it doesn't impact others.

replies(1): >>40924604 #
6. stackskipton ◴[] No.40919151[source]
I wouldn't say afraid but don't see the reason. Vast Majority of Developers are working where repo = single application and their git workflow is Scaled Trunk Based: https://trunkbaseddevelopment.com/#scaled-trunk-based-develo... main, branch, work, merge, repeat and they almost always fix forward.

Also, Rebasing is cause for Dev Riots because of nightmare merge conflicts that can result.

Since the author is from Google, my guess is they are seeing issues that hit the level of "WE MUST FIX THIS" that only arise at Google Monorepo size.

replies(1): >>40929724 #
7. v3ss0n ◴[] No.40924561[source]
Good for you that you have only one team mate. I have 15 of them at varying skill levels. As organization grew bigger Murphy laws kicks in. We love mercurial but we have to change because the whole world had move to git and developer need to learn two different collaboration tools and then even mercurial hg-git ext works well we have to move away from it.
replies(1): >>40929886 #
8. v3ss0n ◴[] No.40924604{4}[source]
His take is sound and as real world as it gets. I would believe you have also had met a fair share of development teams with varying skill sets
9. steveklabnik ◴[] No.40929724[source]
My current project is mostly a solo project. I do trunk based development. I still prefer jj these days.
10. steveklabnik ◴[] No.40929886{3}[source]
Your teammates don't have to care. That is the point. It's only a thing on your local computer. The team sees all the normal stuff they'd see if you used git.