this post was submitted on 02 Jul 2023
6 points (100.0% liked)

Ask Experienced Devs

1232 readers
1 users here now

Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient

founded 1 year ago
MODERATORS
 

I know other version control software exists, but does anyone use it? Why? What are the differences? All I've ever actually seen people use is git.

top 14 comments
sorted by: hot top controversial new old
[–] canpolat@programming.dev 3 points 1 year ago

Git is definitely dominating the landscape. The fact that it is free software plays a big role. There are alternatives, but they are unlikely to gain much adoption. They may provide slightly better UX or marginally more comfortable flows, but it's not enough to replace Git. Not to mention, most developers don't even really care about which SCM they use.

[–] oleid@programming.dev 3 points 1 year ago* (last edited 1 year ago) (1 children)

There is pijul.

  1. Pijul's defining feature is its innovative algebra of patches model for version control, allowing changes to be applied in any order without creating conflicts, thus simplifying collaborative work.
  2. It efficiently handles branches and merges, with its patch theory often enabling it to automatically resolve conflicts, eliminating much of the headache typically associated with merge conflicts.
  3. Pijul is also free and open-source

Check this out: https://stackoverflow.blog/2023/05/23/for-those-who-just-dont-git-it-ep-573/

[–] isaiah@lemmy.world 0 points 1 year ago (1 children)

I am so incredibly intrigued by this! This might sound like a dumb question, but are there any examples of what this looks like hosted on GitHub? My employer mandates GitHub as a standardized location for enterprise code. So I'm curious if there's a way to live in both worlds at once and not go mad.

[–] oleid@programming.dev 1 points 1 year ago

Afaik GitHub is for git only. While you can import existing git projects, pijul has its own web frontend called nest.

[–] BusterLove@programming.dev 2 points 1 year ago (1 children)

I actually kind of miss Subversion etc now. Git was perfectly designed for open source projects, but its easy branching model has significantly undermined the practice of Continuous Integration in enterprise environments. I get that maybe devs just prefer working in an isolated branch, but something has been lost.

[–] isaiah@lemmy.world 1 points 1 year ago

Couldn't agree more. We used Crucible as a code reviewing tool, which allowed us to develop directly on main while being able to pick-and-choose commits to add to a review. This closed that CI gap for us in a meaningful way.

However, Crucible seems to be reaching end of life (my company even denied renewal of licenses for it). So now we're forced back into Gitflow, and it's sooooo painful.

[–] TheCee@programming.dev 0 points 1 year ago (1 children)

Some people that require support for a lot of big binary assets probably use something else.

[–] canpolat@programming.dev 1 points 1 year ago

There is Git Large File Storage for that. But there may of course be alternatives that are better suited for that kind of tasks.

[–] sorrus@programming.dev 0 points 1 year ago (2 children)

There’s perforce which is primarily used for game development. Often games have a lot of binary files that are hard/impossible to generate diffs of unlike text based files. Perforce requires you to check out individual files and prevents any merge conflicts on an individual file basis.

[–] eluvatar@programming.dev 2 points 1 year ago

Checkout doesn't prevent merge conflicts (unless you configure exclusive checkout which is quite annoying). We used perforce and definitely had merge conflicts, though they weren't as crazy as a long git branch would be.

[–] Mikina@programming.dev 1 points 1 year ago

My experience with Perforce hasn't been really positive - especially compared to Plastic SCM, which is amazing. The merge tracking in history is such a cool feature, and it's generally really smooth to work with.

The only issue is the pricing model, which is also a reason why I sadly can't use it on many projects. Unity way too greedy and their strategy is to just acquire and paywall anything usable.

[–] Netrunner@programming.dev -2 points 1 year ago* (last edited 1 year ago) (1 children)

Git is freaking amazing. Any current alternative is going to be a joke next to it.

People using other ones are simply missing out. SVN/CVS just need to die.

[–] jim@programming.dev 1 points 1 year ago

I've heard good things about hg though I haven't used it myself. Git has the biggest mindshare that I never bothered even checking. Might as well use it and move on.

load more comments
view more: next ›