OSDN Git Service

git-svn: Fix discarding of extra parents from svn:mergeinfo
authorTuomas Suutari <tuomas.suutari@gmail.com>
Mon, 22 Feb 2010 18:12:53 +0000 (20:12 +0200)
committerEric Wong <normalperson@yhbt.net>
Fri, 26 Feb 2010 09:30:23 +0000 (01:30 -0800)
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>
git-svn.perl
t/t9151-svn-mergeinfo.sh

index 265852f..ed96a03 100755 (executable)
@@ -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]);
                                }
                        }
                }
index 353f543..1640824 100755 (executable)
@@ -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)