Not a holy war - just some salient facts

Steve Borho steve at borho.org
Thu Apr 8 20:22:50 CDT 2010


On Thu, Apr 8, 2010 at 5:45 PM, Harry Putnam <reader at newsguy.com> wrote:
> Can some advanced user here list reasons why bazaar might be better
> than mercurial, for the usage described briefly below.
>
> Or, if merc would, in fact, be the better tool.
>
> Usage scenario:
>
> One repo each for hosts on home lan.  At least the linux/opensolaris
> hosts. Which amounts to some 8 hosts.  (Some are vmware guests on
> windows machines).
>
> Not much need for repos on windows machines here.  Or at least, I've
> never really felt the urge to do programming or experimentation on the
> windows machines, beyond installing various bits of software.
>
> 1) (Probably) Main usage is keeping versions of quite a few OS related
>   `rc' files.  Quite a few under /etc but also /boot and the
>   directories that contain my 150 or so scripts. Also a few under
>   /var.
>
>   Each repo is kept in a directory structure roughly mirroring the
>   host it is on.
>
>   Till now I've always done this with cvs... so that is my sole
>   exprience with vcs tools.
>
>   I had a cvsroot on the server that included all hosts, then on each
>   host a checked out module for that host.
>
> 2) I keep an area which is really an nfs mounted zfs filesystem from
>   opensolaris server for various projects or scripting experiments
>   etc.
>
>   I think I want to start keeping that as a repo and tracking the
>   assorted scripting experiments or experimental usage of tools I
>   don't know how to use yet.  Some, maybe even most tracked files may
>   be pretty short lived, or may set in the repo unchanged, once
>   experimentation is over.
>
>   Sooner or later, I think there will come a time when I want to see
>   previous versions of some of this stuff.
>
> So those 2 points would be about it for me.  Very light usage and also
> single user usage.

Mercurial will handle these well.  Many users start out by versioning
their "dotfiles" to get a feel for the tool.  To be honest, all of the
modern DVCS can handle this quite easily, so you'll have to make a
selection based on other criteria.  The reason I started using hg over
bzr (back in 2005) was that it allowed me to push to my personal repos
on a remote host over ssh.

For /etc folders, specifically, you should be aware that Mercurial
does not track file ownership or permissions, with the single
exception of the execute bit. This is not uncommon for a DVCS.  There
are tools out there that bridge this gap [1], but you need to be aware
of the issue.

--
Steve Borho

[1] http://kitenet.net/~joey/code/etckeeper/


More information about the Mercurial mailing list