Browse Source

git-svn: Fix discarding of extra parents from svn:mergeinfo

If parent J is an ancestor of parent I, then parent J should be
discarded, not I.

Note that J is an ancestor of I if and only if rev-list I..J is emtpy,
which is what we are testing here.

Signed-off-by: Tuomas Suutari <tuomas.suutari@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
maint
Tuomas Suutari 15 years ago committed by Eric Wong
parent
commit
6a2009e7f3
  1. 2
      git-svn.perl
  2. 2
      t/t9151-svn-mergeinfo.sh

2
git-svn.perl

@ -3273,7 +3273,7 @@ sub find_extra_svn_parents {
"$new_parents[$i]..$new_parents[$j]", "$new_parents[$i]..$new_parents[$j]",
); );
if ( !$revs ) { if ( !$revs ) {
undef($new_parents[$i]); undef($new_parents[$j]);
} }
} }
} }

2
t/t9151-svn-mergeinfo.sh

@ -33,7 +33,7 @@ test_expect_success 'svn non-merge merge commits did not become git merge commit
[ -z "$bad_non_merges" ] [ -z "$bad_non_merges" ]
' '


test_expect_failure 'commit made to merged branch is reachable from the merge' ' test_expect_success 'commit made to merged branch is reachable from the merge' '
before_commit=$(git rev-list --all --grep="trunk commit before merging trunk to b2") before_commit=$(git rev-list --all --grep="trunk commit before merging trunk to b2")
merge_commit=$(git rev-list --all --grep="Merge trunk to b2") merge_commit=$(git rev-list --all --grep="Merge trunk to b2")
not_reachable=$(git rev-list -1 $before_commit --not $merge_commit) not_reachable=$(git rev-list -1 $before_commit --not $merge_commit)

Loading…
Cancel
Save