We’re now using Mercurial distributed version control system
We recently converted the whole of the DeVIDE SVN source code history (around 4000 changesets) to Mercurial distributed version control system (DVCS). DVCS makes it much easier for developers to cooperate, and generally greatly streamlines the source code version control process.
The conversion was surprisingly painless. We made use of hg convert according to this description on Google Code (option 2, full history conversion).
Today we wanted to split out johannes (our super-useful VTK / ITK / wxPython / Qt / PyOt / SIP / DCMTK / GDCM / numpy / python automatic build system) into its own repository. I was expecting pain, but it turned out to be this easy:
hg clone https://code.google.com/p/devide/ hg convert --filemap filemap.txt devide johannes cd johannes hg push https://code.google.com/p/devide.johannes/
filemap.txt contains the following:
include johannes rename johannes . include johannes-extra rename johannes-extra extra
What this did, was go through the whole cloned DeVIDE repository at LIGHTING speed (it’s local right) and strip out all the johannes and johannes-extra bits. It then went and created a new repo containing the johannes bits at top-level, and the johannes-extra bits in a subdir extra of the new repo, all with complete history.
If you want a checkout of johannes, just do:
hg clone https://code.google.com/p/devide.johannes/