Remove the assert in CommitData.parse() function
[stgit] / t / t2800-goto-subdir.sh
index 9f3ab26..5ac77cc 100755 (executable)
@@ -13,7 +13,7 @@ test_expect_success 'Initialize StGit stack' '
     for i in 1 2 3; do
         echo foo$i >> foo/bar &&
         stg new p$i -m p$i &&
-        git add foo/bar &&
+        stg add foo/bar &&
         stg refresh
     done
 '
@@ -24,19 +24,20 @@ EOF
 cat > expected2.txt <<EOF
 bar
 EOF
-test_expect_failure 'Goto in subdirectory (just pop)' '
-    (cd foo && stg goto p1) &&
+test_expect_success 'Goto in subdirectory (just pop)' '
+    (cd foo && stg goto --keep p1) &&
     cat foo/bar > actual.txt &&
-    diff -u expected1.txt actual.txt &&
+    test_cmp expected1.txt actual.txt &&
     ls foo > actual.txt &&
-    diff -u expected2.txt actual.txt
+    test_cmp expected2.txt actual.txt
 '
 
 test_expect_success 'Prepare conflicting goto' '
     stg delete p2
 '
 
-cat > expected1.txt <<EOF
+# git gives this result before commit 606475f3 ...
+cat > expected1a.txt <<EOF
 foo1
 <<<<<<< current:foo/bar
 =======
@@ -44,16 +45,28 @@ foo2
 foo3
 >>>>>>> patched:foo/bar
 EOF
+
+# ... and this result after commit 606475f3.
+cat > expected1b.txt <<EOF
+foo1
+<<<<<<< current
+=======
+foo2
+foo3
+>>>>>>> patched
+EOF
+
 cat > expected2.txt <<EOF
 bar
 EOF
-test_expect_failure 'Goto in subdirectory (conflicting push)' '
-    (cd foo && stg goto p3) ;
+test_expect_success 'Goto in subdirectory (conflicting push)' '
+    (cd foo && stg goto --keep p3) ;
     [ $? -eq 3 ] &&
     cat foo/bar > actual.txt &&
-    diff -u expected1.txt actual.txt &&
+    ( test_cmp expected1a.txt actual.txt \
+      || test_cmp expected1b.txt actual.txt ) &&
     ls foo > actual.txt &&
-    diff -u expected2.txt actual.txt
+    test_cmp expected2.txt actual.txt
 '
 
 test_done