cherry-pick: regression fix for empty commits
[gitweb.git] / t / t3505-cherry-pick-empty.sh
index 92f00cdf84993da995f074efa12344c26b627d67..5a1340cee69f344613c09b7d4a3f3f7bebd6719e 100755 (executable)
@@ -71,4 +71,34 @@ test_expect_success 'cherry pick with --keep-redundant-commits' '
        git cherry-pick --keep-redundant-commits HEAD^
 '
 
+test_expect_success 'cherry-pick a commit that becomes no-op (prep)' '
+       git checkout master &&
+       git branch fork &&
+       echo foo >file2 &&
+       git add file2 &&
+       test_tick &&
+       git commit -m "add file2 on master" &&
+
+       git checkout fork &&
+       echo foo >file2 &&
+       git add file2 &&
+       test_tick &&
+       git commit -m "add file2 on the side"
+'
+
+test_expect_success 'cherry-pick a no-op without --keep-redundant' '
+       git reset --hard &&
+       git checkout fork^0 &&
+       test_must_fail git cherry-pick master
+'
+
+test_expect_success 'cherry-pick a no-op with --keep-redundant' '
+       git reset --hard &&
+       git checkout fork^0 &&
+       git cherry-pick --keep-redundant-commits master &&
+       git show -s --format='%s' >actual &&
+       echo "add file2 on master" >expect &&
+       test_cmp expect actual
+'
+
 test_done