Thursday, January 16, 2020

Is Git Irreplaceable?

wyoung (Hacker News):

I worry that Git might be the last mass-market DVCS within my lifetime. Git effectively has a global monopoly on DVCSes, and I don’t see how you replace such a thing.

Replacing RCS with CVS was easy. Replacing CVS with Subversion was a big fight in many places. Replacing the remaining CVS and Subversion repos with something modern may never happen. Replacing Git with something better looks impossible.

Via Greg Hurrell:

My take: scalability is the biggest hurdle (weak spot) that must be overcome; complaints about usability are majorly exaggerated – version control has some inherent complexity that can’t be elided.

I think that’s right. The command-line weirdness is gradually being addressed, and you can mostly avoid it by using a GUI, anyway. The alternatives I’ve seen are also inherently complex.


1 Comment RSS · Twitter

People have problems with git - there's no questioning that. Some of those problems are addressed by adding new features to git, or by modifying it in other ways. And some people design alternative SCMs that don't have the problems, but probably have different problems.

As with everything in open source, an alternative product will become popular if it addresses problems that the incumbent product fails to address after a significant amount of time elapses. People who like the new alternative will advocate it and may or may not convince others to follow along. The old and new ones may coexist for quite a while, or some may fade into obscurity.

We've seen this many times all over the open source world. Window managers and desktops (KDE, Gnome and dozens of other alternatives). Compilers (gcc vs. clang). Package management (dpkg/apt vs rpm/yum). Linux vs. BSD and countless distributions of each.

Git is an extremely popular product and I don't see anything on the horizon that is likely to displace it from that position in the foreseeable future, but that's not the same as saying that this dominance will last forever. SCM requirements change over time. Git's maintainers may or may not be able to keep pace over the next several years. There may be technical or political reasons why git can't satisfy everybody's requirements.

Leave a Comment