# HG changeset patch # User Patrick Mezard # Date 1267545966 -3600 # Node ID c06f59441f8ef87f7feaf47804aed79034008ff5 # Parent 704d2ce1d906da96d9451071159f26701087ff58 editor: fix replaced directory copies Known failures: - Replaced directories copy records are wrong in stupid mode - Replaced files copy records are probably wrong in all modes diff --git a/hgsubversion/editor.py b/hgsubversion/editor.py --- a/hgsubversion/editor.py +++ b/hgsubversion/editor.py @@ -262,7 +262,7 @@ class HgEditor(delta.Editor): assert br_path is not None tmp = source_branch, source_rev, self.current.rev.revnum self.meta.branches[branch] = tmp - new_hash = self.meta.get_parent_revision(source_rev + 1, source_branch) + new_hash = self.meta.get_parent_revision(source_rev + 1, source_branch, True) if new_hash == node.nullid: self.current.missing.add('%s/' % path) return path diff --git a/tests/fixtures/replace_branch_with_branch.sh b/tests/fixtures/replace_branch_with_branch.sh --- a/tests/fixtures/replace_branch_with_branch.sh +++ b/tests/fixtures/replace_branch_with_branch.sh @@ -22,13 +22,17 @@ svn ci -m 'branch1' svn up echo b > branches/branch1/b echo d > branches/branch1/d -svn add branches/branch1/b branches/branch1/d +mkdir branches/branch1/dir +echo e > branches/branch1/dir/e +svn add branches/branch1/b branches/branch1/d branches/branch1/dir svn ci -m 'add b to branch1' svn cp trunk branches/branch2 svn ci -m 'branch2' svn up echo c > branches/branch2/c -svn add branches/branch2/c +mkdir branches/branch2/dir +echo e2 > branches/branch2/dir/e +svn add branches/branch2/c branches/branch2/dir svn ci -m 'add c to branch2' svn up @@ -38,6 +42,8 @@ cat > clobber.rsvn <