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 { @@ -3273,7 +3273,7 @@ sub find_extra_svn_parents {
"$new_parents[$i]..$new_parents[$j]",
);
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 @@ -33,7 +33,7 @@ test_expect_success 'svn non-merge merge commits did not become git merge commit
[ -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")
merge_commit=$(git rev-list --all --grep="Merge trunk to b2")
not_reachable=$(git rev-list -1 $before_commit --not $merge_commit)

Loading…
Cancel
Save