this post was submitted on 14 Jul 2025
27 points (90.9% liked)

Programming

21981 readers
128 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
 

I tried it after using Emacs Magit for about six or seven years, and jujutsu is really easier to use than git and useful if one wants a tidy public history of changes (Linus Torvalds recommendations on that linked here). Plus it is fully compatible to git as backend - other contributors will not even note you are using it.

you are viewing a single comment's thread
view the rest of the comments
[–] HaraldvonBlauzahn@feddit.org 5 points 3 weeks ago* (last edited 3 weeks ago) (4 children)

I would be curious to know in which specific cases people which have experience with using both think plain git is still better.

In my experience, when using jujutsu it can be necessary to use git commands to access repos via ssh, vpn and such. Also, jujutsu ignores git submodules, so one has to do submodule operations with git (but I think that culturally, using submodules most often is not such a good idea).

[–] 2xsaiko@discuss.tchncs.de 2 points 3 weeks ago (2 children)

I use plain git when a project wants to use some tool that itself calls git commands that modify the repo state. You can use a colocated repo in this case (where jj and git commands both work) and nothing will break, but it can mess up your graph, creating duplicate commits which you then have to fix. I’ve seen this with Gentoo’s pkgdev for example.

Git blame and some other graph operations are also just faster right now which is why I sometimes use them in large repos over jj’s equivalent.

[–] HaraldvonBlauzahn@feddit.org 2 points 3 weeks ago* (last edited 3 weeks ago) (1 children)

Well, the thing that this seeks to improve on is the crazy complexity of advanced git commands, which gave rise to several humorous mentions on XKCD and even satire man pages like this:

https://git-man-page-generator.lokaltog.net/

..... and if you think that you know most of git well, then, quick, what happens when you merge two branches of a repo which has several changed submodules in each branch? Is this deterministically resolved, and if so, how?

[–] 2xsaiko@discuss.tchncs.de 2 points 3 weeks ago

https://git-man-page-generator.lokaltog.net/

Oh my god this is amazing. Thanks for this.

what happens when you merge two branches of a repo which has several changed submodules in each branch?

I would assume a merge conflict if the submodules were changed in both branches from the base… but it’s probably not that simple, is it? I’ve never tested it.

load more comments (1 replies)