# HG changeset patch # User Bryan O'Sullivan # Date 1240985654 25200 # Node ID fd2e83ffb165a5b0b1fec777c7eaaca739b66f37 # Parent 88828b784971319ab9778090fbf01f4d3052f2c5 Add paragraph tags diff -r 88828b784971 -r fd2e83ffb165 en/appA-svn.xml --- a/en/appA-svn.xml Tue Apr 28 23:10:43 2009 -0700 +++ b/en/appA-svn.xml Tue Apr 28 23:14:14 2009 -0700 @@ -75,7 +75,7 @@ .hg/shamap inside the target repository. - When you want to start making changes using Mercurial, it's + When you want to start making changes using Mercurial, it's best to clone the tree in which you are doing your conversions, and leave the original tree for future incremental conversions. This is the safest way to let you pull and merge future commits @@ -85,7 +85,7 @@ Converting multiple branches - The hg convert command given above + The hg convert command given above converts only the history of the trunk branch of the Subversion repository. If we instead use the URL http://python-nose.googlecode.com/svn, @@ -95,7 +95,7 @@ usually use, and it will import each as a separate Mercurial branch. - By default, each Subversion branch imported into Mercurial + By default, each Subversion branch imported into Mercurial is given a branch name. After the conversion completes, you can get a list of the active branch names in the Mercurial repository using hg branches -a. If you @@ -104,7 +104,7 @@ convert.hg.usebranchnames=false option to hg convert. - Once you have converted your tree, if you want to follow + Once you have converted your tree, if you want to follow the usual Mercurial practice of working in a tree that contains a single branch, you can clone that single branch using hg clone -r mybranchname. @@ -183,7 +183,7 @@ Improving Subversion conversion performance - You will often need several attempts before you hit the + You will often need several attempts before you hit the perfect combination of user map, file map, and other conversion parameters. Converting a Subversion repository over an access protocol like ssh or @@ -192,7 +192,7 @@ network delays. This can make tuning that perfect conversion recipe very painful. - The The svnsync command can greatly speed up the conversion of a Subversion repository. It is a read-only mirroring program for @@ -200,41 +200,41 @@ mirror of your Subversion tree, then convert the mirror into a Mercurial repository. - Suppose we want to convert the Subversion repository for + Suppose we want to convert the Subversion repository for the popular Memcached project into a Mercurial tree. First, we create a local Subversion repository. $ svnadmin create memcached-mirror - Next, we set up a Subversion hook that + Next, we set up a Subversion hook that svnsync needs. $ echo '#!/bin/sh' > memcached-mirror/hooks/pre-revprop-change $ chmod +x memcached-mirror/hooks/pre-revprop-change - We then initialize svnsync in this + We then initialize svnsync in this repository. $ svnsync --init file://`pwd`/memcached-mirror \ http://code.sixapart.com/svn/memcached - Our next step is to begin the svnsync + Our next step is to begin the svnsync mirroring process. $ svnsync sync file://`pwd`/memcached-mirror - Finally, we import the history of our local Subversion + Finally, we import the history of our local Subversion mirror into Mercurial. $ hg convert memcached-mirror - We can use this process incrementally if the Subversion + We can use this process incrementally if the Subversion repository is still in use. We run svnsync to pull new changes into our mirror, then hg convert to import them into our Mercurial tree. - There are two advantages to doing a two-stage import with + There are two advantages to doing a two-stage import with svnsync. The first is that it uses more efficient Subversion network syncing code than hg convert, so it transfers less data over the