[PATCH] convert: allow branchmap to map trunk to arbitrary named branch (issue3469)
Augie Fackler
raf at durin42.com
Fri Oct 5 18:53:23 CDT 2012
This patch looks reasonable to me on the surface. Anyone else want to take a look?
On Aug 20, 2012, at 7:55 PM, Lawrence Stewart <lstewart at room52.net> wrote:
> # HG changeset patch
> # User lstewart
> # Date 1345510024 -36000
> # Node ID d49af0455cffa64de4d8e469847bf24f9d096a18
> # Parent c6f88e7f95b764e23b7e0b4353c5a6458bbc3cc4
> convert: allow branchmap to map trunk to arbitrary named branch (issue3469)
>
> The fix for issue2653 broke the ability to convert the trunk branch of a source
> repository to a named branch other than "default" in the destination repository.
> Leave the default behaviour as is, but allow the branchmap to be used to specify
> a non-default name for the branch in the destination repository to which
> converted revisions from trunk will be applied.
>
> diff -r c6f88e7f95b7 -r d49af0455cff hgext/convert/convcmd.py
> --- a/hgext/convert/convcmd.py Sat Aug 11 12:45:53 2012 -0500
> +++ b/hgext/convert/convcmd.py Tue Aug 21 10:47:04 2012 +1000
> @@ -340,6 +340,15 @@
> self.cachecommit(prev)
> pbranches.append((self.map[prev],
> self.commitcache[prev].branch))
> +
> + # If no destination branch is set, this commit is destined for the
> + # default branch in the destination repository. If a suitable entry
> + # exists in the branchmap, map the trunk branch name in the source
> + # repository to the branchmap-defined name in the destination
> + # repository.
> + if not commit.branch:
> + commit.branch = self.branchmap.get(self.source.trunkname)
> +
> self.dest.setbranch(commit.branch, pbranches)
> try:
> parents = self.splicemap[rev]
> diff -r c6f88e7f95b7 -r d49af0455cff tests/test-convert-svn-branches.t
> --- a/tests/test-convert-svn-branches.t Sat Aug 11 12:45:53 2012 -0500
> +++ b/tests/test-convert-svn-branches.t Tue Aug 21 10:47:04 2012 +1000
> @@ -101,3 +101,34 @@
> abort: Mercurial failed to run itself, check hg executable is in PATH
> [255]
>
> +Convert 'trunk' to branch other than 'default'
> +
> + $ cat > branchmap <<EOF
> + > trunk hgtrunk
> + >
> + >
> + > EOF
> + $ hg convert --branchmap=branchmap --datesort -r 10 svn-repo C-hg
> + initializing destination C-hg repository
> + scanning source...
> + sorting...
> + converting...
> + 10 init projA
> + 9 hello
> + 8 branch trunk, remove c and dir
> + 7 change a
> + 6 change b
> + 5 move and update c
> + 4 move and update c
> + 3 change b again
> + 2 move to old2
> + 1 move back to old
> + 0 last change to a
> +
> + $ cd C-hg
> + $ hg branches
> + hgtrunk 10:745f063703b4
> + old 9:aa50d7b8d922
> + old2 8:c85a22267b6e (inactive)
> + $ cd ..
> +
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel
More information about the Mercurial-devel
mailing list