I'm used to work with a lot of different version-control systems[1]. Even some, which could easily be taken for esoteric. When I began to write code, around 2005, Subversion (svn)[2] and Bazaar (bzr)[3] were the cool boys in town. I used them a lot, open an account on Launchpad[4], configure my then-best-friend-eclipse to always have svn in sight.
Time passed and another tool comes to me. It was named Git[5] and tried to be as cool as my other friends. First, I was not impressed… much. At that time bzr had all of its features and I didn't see why I would like to learn another thing.
Time passed again, and I learned to domesticate (at least a bit) git. It takes more and more importance in my day to day life of a coder, until I began to write my Ph. D. thesis. That's the time I start playing with Fossil[6]. It's another distributed version control system (like bzr and git), but the whole tool is self contained in a lone binary file and provides in that single binary, not only the command line command, but also a web server, able to serve wikis, ticketing, etc. Whoa. Moreover, this tool is developped by the same team behind the well-known sqlite[7] and, like this one, is very well written, easily understandable and exstensible.
More recently, I start looking at Mercurial (hg)[8]. Partly because it's used by Mozilla (good reference), written in python, and because I didn't want sink in the git bath without being sure I've tested all possible alternative.
Consequence of what, I currently host my FLOSS projects on three different SCM (git, fossil and mercurial), without counting the various mirrors for each project. Even for me, it's hard to remember on which forge I host my projects, and after that, it's harder to switch from one system to another.
That's why, I've decided to stop lying to me and accept that git took it all[9]. Mercurial forges have extinguished or switched to git, fossil stays a niche product and everyone goes on github or gitlab instances. I loved working with fossil and modifying it as I need. and bazaar will always have the taste of my debut. But I want to stop losing time switching between different systems. Starting from this evening, all my current projects will be accessible through git repositories[10]. I'll progressively close or migrate my old codebases from mercurial or fossil to git if necessary. And for the most older or brocken ones, I think it's time to say goodbye to them.
Who'll be git successor?
[1] version-control systems (HTTPS) [en]
[2] Subversion (svn) (HTTPS) [en]
[8] Mercurial (hg) (HTTPS) [en]
[10] through git repositories (HTTPS)
nil
--
📅 mercredi 22 janvier 2020 à 20:34
📝 Étienne Pflieger with GNU/Emacs 29.4 (Org mode 9.7.11)