Ask HN: Is anyone using anything besides Git for version control?
Just wondering what else is out there in the world of version control. Anything new and exciting? New and exciting additions to older and familiar version control systems? Or is git just the thing and there's nothing else?
46 comments
[ 0.22 ms ] story [ 99.7 ms ] threadI have looked at it from time to time, and having a whole turnkey "github like" interface all in one program is a nice feature that has its appeal. But I have not had a need for all of that (yet) so I have not made much use of it beyond experimenting.
I'm also not so hot on the jack of all trades approach of the built-in issue tracker, wiki, etc. It goes against my Unix philosophy sensibilities. But that's just my 2¢.
The integrated Wiki and ticketing system can be very helpful. The built-in web interface is definitely convenient. Also, the codebase is written in very clean C code (it's written by the SQLite devs, so I expect no less from them). It is very easy to compile from source. Also, the documentation they have is quite nice.
I definitely struggle with parts of Fossil. Fossil does not make it easy to revise commits (this is an intentional design). I one time made a commit on a badly time-skewed machine and it took me all day to look up how to correct that (but I found it in their documentation). I'm also still getting the hang of how branching works in Fossil. It is very hard to have a massive amount of contributors to code. Again, this is another intentional design choice.
It's certainly not a VCS for all projects. But for certain kinds of projects, it really works well.
I'm not a huge fan, but it looks like we're going to keep using it for the foreseeable future.
I believe that git won out over mercurial for the same reason that small start ups choose systems and processes that are the same as those used by big players like Google, Facebook, Amazon, etc.
People should try to make design decisions and choose tools for the scale they're actually at. Not the scale they hope to be at some day.
Would you accept that there is at least some sort of movement of engineers from these large companies to startups? I would argue the choice is made on what people are used to and familiar with, as opposed to "let's signal what scale we want to be at in our choice of tools"
https://news.ycombinator.com/item?id=10228399
The biggest problem is that branching is expensive and slow. We have 7K files in master, so for each branch we're copying and downloading 7K files. It takes 10+ minutes to simply make and clone a branch. It isn't smart enough to re-use files it already has in the workspace.
We're looking to move to Git which DevOps also supports. If for no other reasons less expensive branching and better code reviews ("pull requests" in Git lingo).
The team, which was unfamiliar with git up until that point, was very happy with it. Unfortunately the Git integration in Visual Studio was/is pretty terrible -- it did not even support git stash until VS 2019 (which I'm not using yet). So try to have your teammates learn the command line workflow first. Those who used only the VS GUI had a lot of trouble. Also, doing git operations in the IDE sucks because it will constantly reload the project. This is true of TFVC as well, but you can avoid it with an external git client.
I’ve found GUI’s only to be useful in one or two specific examples: complicated rebases and merge conflicts. In all other cases the CLI workflow seems faster.
Those who write javascript and use Visual Studio Code mostly use the CLI now in the integrated terminal (they are very happy to not have to open up VS to commit). Deployment engineers who don't use Visual Studio often and some other teams who started using Git earlier prefer Atlassian Source Tree.
EDIT: For questions about the motivation vis-a-vis git, refer https://pijul.org/faq/
The first thing I did at the last company that used it was migrate to git. The good news is that (from memory) there is a tool that will migrate all the history to git.
What tool did you use? Also how did you migrate who did commits etc, I found and updated branch of the vault2git tool, but it didn’t have an explanation of how to use the xml for mapping branches and such... I’m honesty forgetting it’s been a few months since I looked at it... I’m hopefully though.
Sorry for the rant >.<
It is horrendous but I am stuck with it.
We use this in a fairly large team with remote workers, and it works like a charm. Only the merge conflict interface could use work, but it integrates with visual studio code quite nicely.
https://tortoisehg.readthedocs.io/en/latest/_images/pbranch....