It feels that way, and it's heartbreaking that our entire species ended up locked into a tool with such a horrible interface. In a way, the git monopoly is worse than Windows or x86 or IPv4, because it's not just a piece of technical infrastructure. Its arcane commands and its branching model have infected all of our brains. You can choose a different editor, you can choose a different operating system, but for as lo…
Is Git Irreplaceable? (2019)
51–60 of 559 posts
Re: Is Git Irreplaceable? (2019)
#52It is necessary but not sufficient for any new contender to do at least the following to have any chance of taking over: - Interoperate with the major player(s), currently Git and in many places unfortunately still Subversion. svn2git probably did more for Git adoption than any other feature or tool, because it allowed a fairly painless transition without losing information. - Solve at least one big problem with the…
> unfortunately still Subversion Which is a better choice than Git for most projects, to be honest.
That's pretty subjective. Most engineers I interact with personally know how to use Git but not SVN. I'd argue the opposite is true base on my subjective experience.
Really depends on where/how you're using versioning, team familiarity, etc.
Re: Is Git Irreplaceable? (2019)
#53Earlier quoted context omitted.
> There were/are slightly less confusing version control systems (mercurial) but they didn't catch on for whatever reason. Also (sorta) darcs, and hopefully pijul. I sincerely hope some patch-based version control can catch on.
I would love to see a merger of Pijul and Darcs again. Having two diverging patch-based approaches (one declining, one not lifting off) is not a good thing.
pijul regrettably seems to be broken most of the time, but I don't think it's irredeemable.
Re: Is Git Irreplaceable? (2019)
#54Every version control system that's become dominant in my lifetime became popular because it fixed a major obvious flaw in the previous dominant system (RCS, CVS, SVN). From where I sit, Git has a couple obvious flaws, and I expect its successor will be the one that fixes one of them. The most obvious (and probably easiest) is the monorepo/polyrepo dichotomy.
I don't see any obvious flaws with Git. The monorepo/polyrepo discussion exists apart from your choice of version control system and has little to do with Git, as far as I can tell
Merge conflicts.
Re: Is Git Irreplaceable? (2019)
#55Every version control system that's become dominant in my lifetime became popular because it fixed a major obvious flaw in the previous dominant system (RCS, CVS, SVN). From where I sit, Git has a couple obvious flaws, and I expect its successor will be the one that fixes one of them. The most obvious (and probably easiest) is the monorepo/polyrepo dichotomy.
Can you explain more about that? I've worked with both and I feel like monorepo is kinda a pain, but I dont understand where Git fits in to either directly. Seems like it just snapshots files.
Re: Is Git Irreplaceable? (2019)
#56Earlier quoted context omitted.
How does that interaction work? Last I checked, it wasn't great or it was too much of a hassle (I don't remember exactly).
Exporting to Git: You set a "Git mirror" once, optionally with a remote URI, and call fossil's export routine. Example: I wrote a cronjob that runs once every night that does nothing but update my Git mirrors from the current Fossils. cd $FOSSILDIR for f in *; do /usr/local/bin/fossil git export -q -R $f done Importing works... similarly. :-)
Re: Is Git Irreplaceable? (2019)
#57Earlier quoted context omitted.
Which features would make it for you?
Perforce is still in use in content heavy industries because Git still struggles with large binaries. Something with git branch semantics that could handle those files would be huge.
This is also very useful for working with external contractors. Not only can a user specify their own view specs, there is admin control for client views that can make portions of the repo read-only or effectively invisible on a per-user basis.
Perhaps this is possible with git?
Re: Is Git Irreplaceable? (2019)
#58One thing is code review. There is no code review in Git.
What I expect in 2020 is that I should be able to specify reviewers for the commit (which I pick out of a list of people who can approve it). These people should be able to leave comments on the commit. I should be able to both respond to comments and modify the code before the commit gets checked in. The history of the comments and changes should be maintained.
There is nothing in Git that supports this flow in a natural way.
A replacement for (or evolution of) Git can be a tool that would support this code review flow from the get-go.
And yes, there are external tools for code review. But that all should be a part of version control.
Re: Is Git Irreplaceable? (2019)
#59I am happy to use whatever everyone else starts using, provided it works at least as well. But I also do not have many problems that git won't solve, so I don't feel a burning need to switch. I think git is good enough that source control is no longer a very interesting problem.
But did you think that RCS, CVS, or SVN were also good enough? Or is this new?
Re: Is Git Irreplaceable? (2019)
#60I am happy to use whatever everyone else starts using, provided it works at least as well. But I also do not have many problems that git won't solve, so I don't feel a burning need to switch. I think git is good enough that source control is no longer a very interesting problem.
But did you think that RCS, CVS, or SVN were also good enough? Or is this new?
That problem I saw even before I saw a replacement.
But once I saw git, having a full copy of the repo was pretty killer. It was also better at merging, partially for having the history local. In fact I recall some SVN people protesting at the time that merging wasn't so hard, but in a nutshell, they were just wrong. It was harder. Source control that can't merge fluidly is pretty limited from the get-go. There's literally entire dimensions of things we do with git that were so impractical with SVN that only the very largest projects could afford to do them, with the whole "workflow" question. Now you don't even hear about the difficulties of merging since all the open source SCMs copied each other and "good merging" is just table stakes now.
The problem is is that git doesn't really have fatal flaws, it has annoyances, and that's not the same thing. "The UI is difficult" is an annoyance for its target audience. Most every other criticism I've seen of it is an annoyance, not a fatal flaw. Fossil doesn't solve a problem I have with git. It has some neat ideas and arguably does solve some problems, but it doesn't solve the problems I have with git; you could lift Fossil's solutions to wiki and bugtracking and just put them in Git and I'd probably be happier with that than Fossil itself.
The problem isn't that Fossil is an SCM competing with git; the problem is that Fossil is a monolith competing with the rapidly-moving git ecosystem. The former is perhaps beatable, the latter is a juggernaut. All of Fossil's other features sitting in git is something that might get somewhere, but if the base source control isn't git-based, I can't sneak it into a work project to try it out. I've got a corporate mandate that all source belongs somewhere standard, and it's a perfectly sensible requirement for someone paying me to do a job.