Go’s Version Control History
research.swtch.com
research.swtch.com
(FWIW, I think hg may have caught up in those areas.. But this is too late now.)
Edit: I preferred hg, too, for the record.
The version control software market has evolved a lot since Bitbucket began in 2008. When we launched, centralized version control was the norm and we only supported Mercurial repos.
https://bitbucket.org/blog/sunsetting-mercurial-support-in-b...
Github was launched in April 2008 [1]. Bitbucket is harder to find, but was definitely around by June 2008 [2]. Mercurial vs git was definitely the defining difference between the two initially, though the Rails ecosystem exploding onto Github made a huge adoption difference. git being faster + built in support for rebasing was big was well.
[1] https://web.archive.org/web/20160409191635/http://www.startl...
[2] https://web.archive.org/web/20110317200833/http://code.djang...
Citation needed for this.
Mercurial has the best VCS GUI I have ever seen, TortoiseHg. And there are quite a few web UIs supporting Mercurial, namely Kallithea and GitLab’s fork heptapod.net.
https://www.mercurial-scm.org/wiki/MercurialApi
> Mercurial's internals are continually evolving to be simpler, more consistent, and more powerful, a process we hope will continue for the foreseeable future. Unfortunately, this process means we will regularly be changing interfaces in ways that break third-party code in various (mostly minor) ways. For the vast majority of third party code, the best approach is to use Mercurial's published, documented, and stable API: the command line interface.
But it is true that, for the mindset of the general public (or younger developers), it might well be nonexistent.
It is a shame, since life with mercurial is still so easier.
Not that the documentation on git is bad necessarily, there's just so much of it. A simple demonstration of this might be something like:
% git help commit | wc -l
622
% hg help commit | wc -l
59
% hg help commit -v | wc -l
98
And some of the CLI syntax is rather arcane, too.It's been years since I last used mercurial, so I'd have to go back to find more specific examples, but I struggled a lot more getting started with git than with mercurial.
That said, size of manual doesn't seem compelling. The men page for ls, as an example, would make that seem a very tough command to use.
> That said, size of manual doesn't seem compelling. The men page for ls, as an example, would make that seem a very tough command to use.
Sure; it's just indicative of complexity, and therefore, ease-of-use.
...with real-world applications! https://stackoverflow.com/questions/20151158/using-git-repos...
[1] That's a lot of post-2010s buzzwords for a system written in 2005.
The Go language's first commit (1972) - https://news.ycombinator.com/item?id=30329279 - Feb 2022 (45 comments)
Is this a hint, or just leaving the door open?
For example, we will likely use Ethernet until the end of eternity. That's not because Ethernet is perfect. Far from it. But because whenever we come up with new networking technology, instead of coming up with a new name, too, we keep calling them Ethernet and just increment the version number.
I think you give yourself an answer. Git is used by myriads of wannabe data scientist which only have a faint of CS understanding, create artifacts others have to clean after them.
Replace wannabe data scientist with whatever describes your situation.
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/s...
> Retrieval of the original and any set of changes is possible. Any version of the file as it develops can be reconstructed for inspection or additional modification. History data can be stored with each version, documenting why the changes were made, who made them, and when they were made.
Nope. Nope nope nope.