Search code examples
svnversion-controlmercurialdvcs

A recipe for putting a subversion checkout under mercurial version control


Can someone point me to a recipe for creating a Mercurial repos from a Subversion checkout by recursively adding all files except those in .svn directories? I imagine it looks something like hg add --exclude PATTERN for some pattern like .svn.

Does a Subversion checkout have any "special" files besides those in the .svn directories? If so, I'll need the recipe to to exclude those too. Thanks.


Solution

  • Easiest way is to do a Subversion export rather than a checkout, then you just get the directory structure you want, without the .svn folders.

    If you have to use a checkout, then add this to a file in the root called .hgignore before you add to Mercurial:

    syntax: glob
    .svn
    

    This file identifies files and directories that Mercurial should not attempt to put under version control, in this case all the .svn directories.