Document shortcoming of stg-k and stg-unnew.
[stgit] / t / t2000-sync.sh
index 02345bb..f831df7 100755 (executable)
@@ -29,7 +29,9 @@ test_expect_success \
     stg add foo3.txt &&
     stg refresh &&
     stg export &&
-    stg pop
+    stg pop &&
+    [ "$(echo $(stg applied))" = "p1 p2" ] &&
+    [ "$(echo $(stg unapplied))" = "p3" ]
     '
 
 test_expect_success \
@@ -38,23 +40,26 @@ test_expect_success \
     stg branch -c foo base &&
     stg new p1 -m p1 &&
     stg new p2 -m p2 &&
-    stg new p3 -m p3
-    test $(stg applied -c) -eq 3
+    stg new p3 -m p3 &&
+    [ "$(echo $(stg applied))" = "p1 p2 p3" ] &&
+    [ "$(echo $(stg unapplied))" = "" ]
     '
 
 test_expect_success \
     'Synchronise second patch with the master branch' \
     '
-    stg sync -b master p2 &&
-    test $(stg applied -c) -eq 3 &&
+    stg sync -B master p2 &&
+    [ "$(echo $(stg applied))" = "p1 p2 p3" ] &&
+    [ "$(echo $(stg unapplied))" = "" ] &&
     test $(cat foo2.txt) = "foo2"
     '
 
 test_expect_success \
     'Synchronise the first two patches with the master branch' \
     '
-    stg sync -b master -a &&
-    test $(stg applied -c) -eq 3 &&
+    stg sync -B master -a &&
+    [ "$(echo $(stg applied))" = "p1 p2 p3" ] &&
+    [ "$(echo $(stg unapplied))" = "" ] &&
     test $(cat foo1.txt) = "foo1" &&
     test $(cat foo2.txt) = "foo2"
     '
@@ -63,7 +68,8 @@ test_expect_success \
     'Synchronise all the patches with the exported series' \
     '
     stg sync -s patches-master/series -a &&
-    test $(stg applied -c) -eq 3 &&
+    [ "$(echo $(stg applied))" = "p1 p2 p3" ] &&
+    [ "$(echo $(stg unapplied))" = "" ] &&
     test $(cat foo1.txt) = "foo1" &&
     test $(cat foo2.txt) = "foo2" &&
     test $(cat foo3.txt) = "foo3"
@@ -73,6 +79,8 @@ test_expect_success \
     'Modify the master patches' \
     '
     stg branch master &&
+    [ "$(echo $(stg applied))" = "p1 p2" ] &&
+    [ "$(echo $(stg unapplied))" = "p3" ] &&
     stg goto p1 &&
     echo bar1 >> foo1.txt &&
     stg refresh &&
@@ -83,6 +91,8 @@ test_expect_success \
     stg goto p3 &&
     echo bar3 >> foo3.txt &&
     stg refresh &&
+    [ "$(echo $(stg applied))" = "p1 p2 p3" ] &&
+    [ "$(echo $(stg unapplied))" = "" ] &&
     stg export &&
     stg branch foo
     '
@@ -90,24 +100,28 @@ test_expect_success \
 test_expect_success \
     'Synchronise second patch with the master branch' \
     '
-    stg sync -b master p2 &&
-    test $(stg applied -c) -eq 3 &&
+    stg sync -B master p2 &&
+    [ "$(echo $(stg applied))" = "p1 p2 p3" ] &&
+    [ "$(echo $(stg unapplied))" = "" ] &&
     test $(cat bar2.txt) = "bar2"
     '
 
 test_expect_failure \
     'Synchronise the first two patches with the master branch (to fail)' \
     '
-    stg sync -b master -a
+    stg sync -B master -a
     '
 
 test_expect_success \
     'Restore the stack status after the failed sync' \
     '
-    test $(stg applied -c) -eq 1 &&
+    [ "$(echo $(stg applied))" = "p1" ] &&
+    [ "$(echo $(stg unapplied))" = "p2 p3" ] &&
     stg resolved -a &&
     stg refresh &&
     stg goto p3
+    [ "$(echo $(stg applied))" = "p1 p2 p3" ] &&
+    [ "$(echo $(stg unapplied))" = "" ]
     '
 
 test_expect_failure \
@@ -119,9 +133,12 @@ test_expect_failure \
 test_expect_success \
     'Restore the stack status after the failed sync' \
     '
-    test $(stg applied -c) -eq 3 &&
+    [ "$(echo $(stg applied))" = "p1 p2 p3" ] &&
+    [ "$(echo $(stg unapplied))" = "" ] &&
     stg resolved -a &&
-    stg refresh
+    stg refresh &&
+    [ "$(echo $(stg applied))" = "p1 p2 p3" ] &&
+    [ "$(echo $(stg unapplied))" = "" ]
     '
 
 test_done