chiark / gitweb /
Remove the applied/unapplied commands
[stgit] / t / t1300-uncommit.sh
index 519234e88727f0111e5c08f7f798ca74da85e5d1..4a955f643ef7820031a1639d19ab1e96452f2b67 100755 (executable)
@@ -19,7 +19,7 @@ test_expect_success \
        '
        stg new foo -m "Foo Patch" &&
        echo foo > test &&
-       stg add test &&
+       git add test &&
        stg refresh
        '
 
@@ -28,14 +28,14 @@ test_expect_success \
        '
        stg new bar -m "Bar Patch" &&
        echo bar > test &&
-       stg add test &&
+       git add test &&
        stg refresh
        '
 
 test_expect_success \
        'Commit the patches' \
        '
-       stg commit
+       stg commit --all
        '
 
 test_expect_success \
@@ -43,7 +43,7 @@ test_expect_success \
        '
        stg uncommit bar foo &&
        [ "$(stg id foo//top)" = "$(stg id bar//bottom)" ] &&
-       stg commit
+       stg commit --all
        '
 
 test_expect_success \
@@ -51,7 +51,7 @@ test_expect_success \
        '
        stg uncommit --number=2 foobar &&
        [ "$(stg id foobar1//top)" = "$(stg id foobar2//bottom)" ] &&
-       stg commit
+       stg commit --all
        '
 
 test_expect_success \
@@ -59,7 +59,7 @@ test_expect_success \
        '
        stg uncommit --number=2 &&
        [ "$(stg id foo-patch//top)" = "$(stg id bar-patch//bottom)" ] &&
-       stg commit
+       stg commit --all
        '
 
 test_expect_success \
@@ -68,6 +68,30 @@ test_expect_success \
        stg uncommit &&
        stg uncommit &&
        [ "$(stg id foo-patch//top)" = "$(stg id bar-patch//bottom)" ] &&
-       stg commit
+       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 --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