From: Karl Hasselström Date: Sat, 6 Oct 2007 08:17:30 +0000 (+0200) Subject: New test: "stg pop --keep" X-Git-Tag: v0.14~59 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/stgit/commitdiff_plain/8ee4f2a84d53c2ff7be4848f4e2e4951fe3ad97d New test: "stg pop --keep" Signed-off-by: Karl Hasselström --- diff --git a/t/t1204-pop-keep.sh b/t/t1204-pop-keep.sh new file mode 100755 index 0000000..40cd2a2 --- /dev/null +++ b/t/t1204-pop-keep.sh @@ -0,0 +1,42 @@ +#!/bin/sh + +test_description='Test "stg pop -keep"' +. ./test-lib.sh +stg init + +test_expect_success 'Create a few patches' ' + for i in 0 1 2; do + stg new p$i -m p$i && + echo "patch$i" >> patch$i.txt && + stg add patch$i.txt && + stg refresh + done && + [ "$(echo $(stg applied))" = "p0 p1 p2" ] && + [ "$(echo $(stg unapplied))" = "" ] +' + +test_expect_success 'Make some non-conflicting local changes' ' + echo "local" >> patch0.txt +' + +test_expect_success 'Pop two patches, keeping local changes' ' + stg pop -n 2 --keep && + [ "$(echo $(stg applied))" = "p0" ] && + [ "$(echo $(stg unapplied))" = "p1 p2" ] && + [ "$(echo $(ls patch?.txt))" = "patch0.txt" ] && + [ "$(echo $(cat patch0.txt))" = "patch0 local" ] +' + +test_expect_success 'Reset and push patches again' ' + git reset --hard && + stg push -a +' + +test_expect_success 'Pop a patch without local changes' ' + stg pop --keep && + [ "$(echo $(stg applied))" = "p0 p1" ] && + [ "$(echo $(stg unapplied))" = "p2" ] && + [ "$(echo $(ls patch?.txt))" = "patch0.txt patch1.txt" ] +' + +test_done