Distributed VCS: Mercurial

Lately, I’ve found myself using locally more and more Mercurial (a fast, lightweight Source Control Management system designed for efficient handling of very large distributed project). The reason is that I’ve been traveling a lot and meanwhile I had to play with some crazy ideas I had. And so far, I am very happy with it; even if I am missing a couple of things that would make it absolutely lovely (a decent Eclipse plugin, a GUI tool, etc.). So, if you know about such tools please let me know.

Yesterday, I have imported locally a CVS repository. Before doing it, I had to search a bit on how to do it, and below are the links that I’ve found interesting. I have ended by using the generic Tailor as I’ve used it before and it looked like the simplest setup.

Links

I had also to install cvs on my Mac machine. It comes inside the XCode app, but I didn’t want to have all those, so I have found a repository of cvs distros.

Configuration

If somebody wonders what configuration I have used with Tailor, here it is:

[projectname]
root-directory=~/workspace/
source=cvs:projectname
target=hg:projectname
subdir=projectname
verbose= True

[cvs:projectname]
start-revision = HEAD
repository=:pserver:anonymous@projectname.cvs.sourceforge.net:/cvsroot/projectname
module=projectname

[hg:projectname]

Basically, this configuration says: import the project called projectname from the CVS source detailed in configuration section [cvs:projectname] into a Mercurial targer (hg prefix) detailed in the configuration section [hg:projectname].

Concerns

Even if I am getting more and more familiar with Mercurial, there is one thing that concerns me a bit: as long as there is no remote replica of my repository, I still have to deal myself backing up the system. Mercurial repositories are self contained, so if you by mistake delete the workspace then all your work is gone. Forever. I am trying to figure out if there is an easy solution for this.

Posted by: Alex Popescu (aka the_mindstorm)

Advertisements

2 Comments

Filed under Tools

2 responses to “Distributed VCS: Mercurial

  1. Re. your back problem, you can of course use Time Machine or a remote machine that holds a clone repository.

    Assuming you don’t have one of those available, you might want to look at bitbucket.org which has some free service.

  2. There is also free mercurial hosting at http://BitBucket.org

    You can have your local repository, but push changes to a free remote repository there. Plus a lot of other good features.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s