Monday, 24 October 2011

Migrating from Subversion to Mercurial

This is an alternative way of migrating from SVN to Mercurial using HgSubversion as oppose to using convert extension. It allows you to push changes from local Mercurial repository to both Subversion and Mercurial during the transition period.

  • Install HgSubversion

hg clone http://bitbucket.org/durin42/hgsubversion/ <local-path>\hgsubversion

  • Add HgSubversion extension to your main hgrc file

[extensions]
hgsubversion = <local-path>\hgsubversion\hgsubversion

  • Clone existing subversion repository

hg clone http://<username>@<svn-project-path> <local-project-folder>

  • Edit project .hgrc file (/hg/.hgrc)

[paths]
default = http://<username>@<hg-remote-project-path>
svn = http://<username>@<svn-project-path>

  • Create new mercurial project in your remote Hg repository (see Rhodecode)
  • Pushing the project to remote mercurial repository

hg push

  • Pushing to subversion

hg push svn

If you’re using mercurial_keyring extension to store Hg passwords and your Svn username is the same as Hg one you need to have the same password for both.

No comments:

Post a Comment