git-svn: fix some mistakes with interpreting SVN mergeinfo commit ranges
[gitweb.git] / t / t9151-svn-mergeinfo.sh
index f57daf401ac7c36c1d9f2380200e0efad2400f70..f6e00ea30bab3e65c3a1a2c8565216e848229efb 100755 (executable)
@@ -15,12 +15,27 @@ test_expect_success 'load svn dump' "
        git svn fetch --all
        "
 
-test_expect_success 'represent svn merges without intervening commits' "
-       [ `git cat-file commit HEAD^1 | grep parent | wc -l` -eq 2 ]
-       "
+test_expect_failure 'all svn merges became git merge commits' '
+       unmarked=$(git rev-list --parents --all --grep=Merge |
+               grep -v " .* " | cut -f1 -d" ")
+       [ -z "$unmarked" ]
+       '
 
-test_expect_success 'represent svn merges with intervening commits' "
-       [ `git cat-file commit HEAD | grep parent | wc -l` -eq 2 ]
-       "
+test_expect_failure 'cherry picks did not become git merge commits' '
+       bad_cherries=$(git rev-list --parents --all --grep=Cherry |
+               grep " .* " | cut -f1 -d" ")
+       [ -z "$bad_cherries" ]
+       '
+
+test_expect_success 'svn non-merge merge commits did not become git merge commits' '
+       bad_non_merges=$(git rev-list --parents --all --grep=non-merge |
+               grep " .* " | cut -f1 -d" ")
+       [ -z "$bad_non_merges" ]
+       '
+
+test_expect_success 'everything got merged in the end' '
+       unmerged=$(git rev-list --all --not master)
+       [ -z "$unmerged" ]
+       '
 
 test_done