[PATCH] Some yasvn2hg patch

Sebastien Lucas sebastien.lucas at gmail.com
Wed May 9 11:18:54 CDT 2007


On 5/9/07, Antoine Pitrou <antoine.pitrou at wengo.com> wrote:
>
> Le mercredi 09 mai 2007 à 14:52 +0200, Sebastien Lucas a écrit :
> > yasvn2hg create a new branch inside the hg repo for each directory in
> > /branches and create a hg tag for each directory in /tags.
>
> IMHO it should still create separate repositories for each branch, just
> make sure they clone the branch they were copied from.
> AFAIK "one-hg-repo-per-development-branch" is still the recommended
> model, and it isn't exclusive with named branches anyway. By combining
> named branches and separate repos you have a very powerful and flexible
> model.

I agree. For now I do prefer having everything in one repository, but
it's maybe because I'm mainly interested in porting some repository
from work and it fit my needs. At work we have svn branches for
features and major bugfixes (not one branch per developper), I also
made a policy to forbid reusing branches after they were merged (I
know this is not the common way). Then All my repo have 90% of closed
(already merged) branches, each one containing useful information so
it seems logical to me to have them in one hg repo.

When I'll be ready to convert for real I'll certainly think about
having closed branches as named branch in the main repo and active
branches in cloned repo. I'll see.

> (hgsvn has simplistic logic to do this incrementally, e.g. if you
> already have the trunk and you import a branch which was created from
> the trunk, the hg repo for the branch will inherit from the trunk repo
> at the right revision (provided you didn't rename the trunk and both are
> imported in the same parent dir). It does not try to find merge points
> however)

Yes that also seems interesting. Automatically finding the merging
point can be done if during the merge there was some file copied from
the branch to trunk. That's what I'm currently trying to add to
yasvn2hg. It is not 100% accurate but it should help.

> > I had no time to test hgsvn but from the readme I like the pull
> > approach and the fact that it populate the .hgignore.
>
> Thanks !
> For the record, hgsvn is not meant as a one-way converter, but a tool to
> use Mercurial with SVN checkouts.

Thanks for your answer.



More information about the Mercurial mailing list