builtin/replace: unset read_replace_refs
[gitweb.git] / t / t3501-revert-cherry-pick.sh
index 6f489e20eecb48c6e1a2dc2b1fe90e47e7b3e7ad..51f3bbb8af446dd24a835a8593475b59a73f6d1f 100755 (executable)
@@ -100,7 +100,7 @@ test_expect_success 'revert forbidden on dirty working tree' '
 
 '
 
-test_expect_success 'chery-pick on unborn branch' '
+test_expect_success 'cherry-pick on unborn branch' '
        git checkout --orphan unborn &&
        git rm --cached -r . &&
        rm -rf * &&
@@ -109,4 +109,36 @@ test_expect_success 'chery-pick on unborn branch' '
        ! test_cmp_rev initial HEAD
 '
 
+test_expect_success 'cherry-pick "-" to pick from previous branch' '
+       git checkout unborn &&
+       test_commit to-pick actual content &&
+       git checkout master &&
+       git cherry-pick - &&
+       echo content >expect &&
+       test_cmp expect actual
+'
+
+test_expect_success 'cherry-pick "-" is meaningless without checkout' '
+       test_create_repo afresh &&
+       (
+               cd afresh &&
+               test_commit one &&
+               test_commit two &&
+               test_commit three &&
+               test_must_fail git cherry-pick -
+       )
+'
+
+test_expect_success 'cherry-pick "-" works with arguments' '
+       git checkout -b side-branch &&
+       test_commit change actual change &&
+       git checkout master &&
+       git cherry-pick -s - &&
+       echo "Signed-off-by: C O Mitter <committer@example.com>" >expect &&
+       git cat-file commit HEAD | grep ^Signed-off-by: >signoff &&
+       test_cmp expect signoff &&
+       echo change >expect &&
+       test_cmp expect actual
+'
+
 test_done