Most of these are <i>owned</i> by some megacorp, which IMO renders them untrustable, the same may have been true for git at a time (I can't remember if Linus still "worked for" redhat at the time of git's creation), but it's sufficiently insulated from that now - even if MS is viewed as holding github's reins too closely. But I'm not trustly a VCS from facebook, or even google.<p>The real issue is though, that each time someone writes a new VCS they seem to want to make it centralised again, often with silly ideas like auto-uploading changes. I do dislike the git stash and the "mess" of untracked files in git status, but I'm not sure what the true answer is.
The feature I think I would most like to see is support for patches as a more first-class object. For example reverts and cherry picks have no real metadata. This leads to conflicts when merging branches that have cherry picks (although they often auto-resolve if they are exactly the same diff) and makes asking "Does $branch contain $patch" basically impossible to answer.<p><a href="https://pijul.org/" rel="nofollow">https://pijul.org/</a> greatly improves this by making patches a first class object (and commits are basically sets of patches). I think it has some great ideas to improve the really gnarly parts of Git low-level behaviour. (Not just surface-level UI issues)
> Mercurial was started almost at the same time as Git by Olivia Mackall, a kernel hacker at the time, motivated, just like Linus, by the BitKeeper and SourcePuller drama of spring 2005.<p>Perhaps ironically, the now open-source BitKeeper may meet many of the author’s criteria for a post-Git version control system, at least at first glance from the BitKeeper homepage.<p><a href="https://www.bitkeeper.org/" rel="nofollow">https://www.bitkeeper.org/</a>
I think git is OK, but one item I miss is what CVS/RCS has, "$Id$". It is very difficult to see the version of a binary if its source is tracked in git.<p>Yes, someone said there is a way to get a git tag in the source, but the tag is not as easy to view as "$Id$" thus it is not obvious if it is the latest version.<p>But, curious he did not mention CVS and RCS :)