X-Git-Url: https://git.distorted.org.uk/~mdw/stgit/blobdiff_plain/d2f50b5ddcdd7a517e3707f61e11f15c7ee9bada..de8efe1efc4a495eca0614aa9f6c1910d5838f99:/t/t1300-uncommit.sh diff --git a/t/t1300-uncommit.sh b/t/t1300-uncommit.sh index 2e7ff21..5e9b8fb 100755 --- a/t/t1300-uncommit.sh +++ b/t/t1300-uncommit.sh @@ -35,31 +35,31 @@ test_expect_success \ test_expect_success \ 'Commit the patches' \ ' - stg commit + stg commit --all ' test_expect_success \ 'Uncommit the patches using names' \ ' stg uncommit bar foo && - [ "$(stg id foo//top)" = "$(stg id bar//bottom)" ] && - stg commit + [ "$(stg id foo)" = "$(stg id bar^)" ] && + stg commit --all ' test_expect_success \ 'Uncommit the patches using prefix' \ ' stg uncommit --number=2 foobar && - [ "$(stg id foobar1//top)" = "$(stg id foobar2//bottom)" ] && - stg commit + [ "$(stg id foobar1)" = "$(stg id foobar2^)" ] && + stg commit --all ' test_expect_success \ 'Uncommit the patches using auto names' \ ' stg uncommit --number=2 && - [ "$(stg id foo-patch//top)" = "$(stg id bar-patch//bottom)" ] && - stg commit + [ "$(stg id foo-patch)" = "$(stg id bar-patch^)" ] && + stg commit --all ' test_expect_success \ @@ -67,15 +67,31 @@ test_expect_success \ ' stg uncommit && stg uncommit && - [ "$(stg id foo-patch//top)" = "$(stg id bar-patch//bottom)" ] && - stg commit + [ "$(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 commit + [ "$(stg id foo-patch)" = "$(stg id bar-patch^)" ] && + stg commit --all +' + +test_expect_success 'Uncommit a commit with not precisely one parent' ' + 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