X-Git-Url: https://git.distorted.org.uk/~mdw/stgit/blobdiff_plain/d851da81409f07105c55d5088157e276cbc4fe13..58f09cf20b44f502fc56d56383461b71b7ae42fd:/t/t1300-uncommit.sh diff --git a/t/t1300-uncommit.sh b/t/t1300-uncommit.sh index a906d13..43e0d04 100755 --- a/t/t1300-uncommit.sh +++ b/t/t1300-uncommit.sh @@ -42,7 +42,7 @@ test_expect_success \ 'Uncommit the patches using names' \ ' stg uncommit bar foo && - [ "$(stg id foo//top)" = "$(stg id bar//bottom)" ] && + [ "$(stg id foo)" = "$(stg id bar^)" ] && stg commit --all ' @@ -50,7 +50,7 @@ test_expect_success \ 'Uncommit the patches using prefix' \ ' stg uncommit --number=2 foobar && - [ "$(stg id foobar1//top)" = "$(stg id foobar2//bottom)" ] && + [ "$(stg id foobar1)" = "$(stg id foobar2^)" ] && stg commit --all ' @@ -58,7 +58,7 @@ test_expect_success \ 'Uncommit the patches using auto names' \ ' stg uncommit --number=2 && - [ "$(stg id foo-patch//top)" = "$(stg id bar-patch//bottom)" ] && + [ "$(stg id foo-patch)" = "$(stg id bar-patch^)" ] && stg commit --all ' @@ -67,20 +67,31 @@ test_expect_success \ ' stg uncommit && stg uncommit && - [ "$(stg id foo-patch//top)" = "$(stg id bar-patch//bottom)" ] && + [ "$(stg id foo-patch)" = "$(stg id bar-patch^)" ] && stg commit --all ' test_expect_success \ 'Uncommit the patches with --to' ' stg uncommit --to HEAD^ && - [ "$(stg id foo-patch//top)" = "$(stg id bar-patch//bottom)" ] && + [ "$(stg id foo-patch)" = "$(stg id bar-patch^)" ] && stg commit --all ' test_expect_success 'Uncommit a commit with not precisely one parent' ' - stg uncommit -n 5 ; [ $? = 2 ] && + command_error stg uncommit -n 5 && [ "$(echo $(stg series))" = "" ] ' +# stg uncommit should work even when top != head, and should not touch +# the head. +test_expect_success 'Uncommit when top != head' ' + stg new -m foo && + git reset --hard HEAD^ && + h=$(git rev-parse HEAD) + stg uncommit bar && + test $(git rev-parse HEAD) = $h && + test "$(echo $(stg series))" = "+ bar > foo" +' + test_done