this post was submitted on 09 Apr 2025
90 points (98.9% liked)

Linux

6956 readers
795 users here now

A community for everything relating to the GNU/Linux operating system

Also check out:

Original icon base courtesy of [email protected] and The GIMP

founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 16 points 1 week ago (1 children)

What are your pain points and what do you prefer?

[–] [email protected] 6 points 1 week ago (1 children)

I had my rant here. Even I have a limit for angry vitriol. Honestly, I wouldn't care, except there are two things I'm collaborating with where I have to use git. Actually, for one I could probably use Jujutsu, but the other is One Giant Monorepos and has very specific requirements about how history looks, and I just can't ensure that without using git directly. And it drives my utter bonkers every time I have to commit, because: despite the fact that there are only ever one or two people editing any given file; and none of the files has anything to do with any other; because there are hundreds of people editing hundreds of files in this repo every month or so when I want to make a change it's a nightmare of pulling and fetching and rebasing and trying to squash things down so it's pretty enough for an MR to get accepted into master. I'm about to give up contributing to that one; it's not worth the git pain.

Then, I was collaborating on another project as a contributor; the project owner was slow to merge PRs, so at any point in time I had 6 feature branches waiting to be merged. Sometimes, they conflicted with each other, so I had to wait until they merged one, then I'd have to go in and fix the other so it could be merged. It was a nightmare, and I eventually just hard-forked the project. Granted, this would have been a challenging situation for any VCS, but git's merge and rebase are so awful it was especially painful. It would have been easier with Mercurial - it's smarter about merging and rebasing, mainly (I believe) because it doesn't have to contend with the possibility that someone caused a temporal paradox by changing history, but it would in most cases not been at all problematic with darcs.

My preferred VCS is Mercurial. It used to be darcs, but I started having performance issues with larger projects and gave it up years ago. If it had been able to keep up, I'd probably have stuck with it.

The other tool I use is Jujutsu. It's in heavy development, and there are still some warts, but I can work with git projects with it without having to suffer git.

I'm keeping my eye on Pijul, which is patch-theory-based, like darcs. I'm a bit concerned about the fact that it smells a little like it's going to be monotonized through never releasing a self-hostable server - right now they offer free project hosting, but it means you have to host your source on their servers, or not publicly at all, and that gives me the heebes.

[–] [email protected] 2 points 6 days ago* (last edited 6 days ago)

Upvoted because I hate git too and only use GUIs for it.

Jujutsu is great and I use it at work in personal projects. Being compatible with the git back end is an immense bonus. I use the command line and its really fun too.