From 4b6c0e31385f5f27a151088c0a2b614495c4e589 Mon Sep 17 00:00:00 2001 From: Paul Duncan Date: Thu, 14 Oct 2021 12:47:50 -0400 Subject: initial commit, including theme --- content/posts/2007-04-04-mercurial-upgrade.html | 183 ++++++++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 content/posts/2007-04-04-mercurial-upgrade.html (limited to 'content/posts/2007-04-04-mercurial-upgrade.html') diff --git a/content/posts/2007-04-04-mercurial-upgrade.html b/content/posts/2007-04-04-mercurial-upgrade.html new file mode 100644 index 0000000..feaee46 --- /dev/null +++ b/content/posts/2007-04-04-mercurial-upgrade.html @@ -0,0 +1,183 @@ +--- +date: "2007-04-04T23:07:36Z" +title: Mercurial Upgrade +--- + +

Say hello to Mercurial, my long-overdue replacement for CVS. +Unlike CVS and Subversion, Mercurial is a distributed version +control system (VCS), which means (among other things) it doesn't +have a central repository, has disconnected (non-networked) +commits, and allows you to group small changes together as "change sets". +Other well-known distributed VCSs include Bitkeeper, Git, +Darcs, and +Monotone (there are more). While searching for a CVS +replacement, I spent some time using Subversion, Monotone, and Git; +here's a brief overview of my experience with each one.

+ + + +

The silver lining here is that I eventually stumbled on Mercurial. And +by stumbled, I mean Richard (richlowe) told me about it +(just like he told me about Vim, Screen, Mutt, Ruby, and +a whole +lot of other cool stuff I use regularly). He knows a lot more about +version control software than I do, but I didn't really pay any +attention. At least not until I noticed that Mercurial seemed to be the +only free VCS that wasn't enclosed in a long and colorful string of +profanity when he talked about it.

+ +

Anyway, the more I use Mercurial, the more I like it. It meets all of +the requirements I mentioned above, plus it has the speed and power of +Git and the simplicity of Subversion and CVS. Mercurial is actively +developed, has full Windows support, and it includes extensions that add +support for PGP-signed tags and Quilt-style patch queues.

+ +

The real killer feature for me, though, is that everything I try just +works. Setting up read-only, web-accessible public repository only took +a minute or two of reading, and making an entire directory of Mercurial +repositories available only took a couple more minutes. I had +comparable experiences with branching, tagging, signing tags, and +pushing changes to multiple repositories.

+ +

The only warts I've found in Mercurial so far are minor; the web +interface needs a bit of cleanup, and there should be a straightforward +way of adding repository defaults like style, contact and archive +formats via the top-level htwebdir configuration file. The native +import features are still a bit lacking, although you can use Tailor +to convert data from all but the most esoteric or convoluted +repositories.

+ +

That's about all the advocacy I can muster up at the moment. If you're +interested in reading more about the state of distributed version +control systems, there are more detailed VCS comparisons here and +here.

+ +

Note: I've had this post sitting in my queue for months. I +just brushed off the cobwebs, cleaned up the typos, and posted it. +In that time Mercurial has picked up a bit of publicity, and development +has been moving along at a steady clip. I tried to remove the bits that +no longer apply, but let me know if I missed anything.

+ +

Edit: This article was linked on Reddit; some additional conversation (and +my responses) can be found in the comment +thread. +

+ -- cgit v1.2.3