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.
- fromcvs: fast (incremental) cvs->* conversion
- Tailor (configuration details here)
- Tools for moving from CVS to Mercurial
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.
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:email@example.com:/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].
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)