git commit: Reformat output somewhat
[gitweb.git] / t / t9106-git-svn-commit-diff-clobber.sh
index 6f132f2419462c20748b1a6fcb2df36a53ab0f89..83896e96876d8cca24496c7cb278732a308e3d92 100755 (executable)
@@ -4,56 +4,56 @@
 test_description='git-svn commit-diff clobber'
 . ./lib-git-svn.sh
 
-test_expect_success 'initialize repo' "
+test_expect_success 'initialize repo' '
        mkdir import &&
        cd import &&
        echo initial > file &&
-       svn import -m 'initial' . $svnrepo &&
+       svn import -m "initial" . "$svnrepo" &&
        cd .. &&
        echo initial > file &&
        git update-index --add file &&
-       git commit -a -m 'initial'
-       "
-test_expect_success 'commit change from svn side' "
-       svn co $svnrepo t.svn &&
+       git commit -a -m "initial"
+       '
+test_expect_success 'commit change from svn side' '
+       svn co "$svnrepo" t.svn &&
        cd t.svn &&
        echo second line from svn >> file &&
        poke file &&
-       svn commit -m 'second line from svn' &&
+       svn commit -m "second line from svn" &&
        cd .. &&
        rm -rf t.svn
-       "
+       '
 
-test_expect_failure 'commit conflicting change from git' "
+test_expect_success 'commit conflicting change from git' '
        echo second line from git >> file &&
-       git commit -a -m 'second line from git' &&
-       git-svn commit-diff -r1 HEAD~1 HEAD $svnrepo
-       " || true
+       git commit -a -m "second line from git" &&
+       test_must_fail git-svn commit-diff -r1 HEAD~1 HEAD "$svnrepo"
+'
 
-test_expect_success 'commit complementing change from git' "
+test_expect_success 'commit complementing change from git' '
        git reset --hard HEAD~1 &&
        echo second line from svn >> file &&
-       git commit -a -m 'second line from svn' &&
+       git commit -a -m "second line from svn" &&
        echo third line from git >> file &&
-       git commit -a -m 'third line from git' &&
-       git-svn commit-diff -r2 HEAD~1 HEAD $svnrepo
-       "
+       git commit -a -m "third line from git" &&
+       git-svn commit-diff -r2 HEAD~1 HEAD "$svnrepo"
+       '
 
-test_expect_failure 'dcommit fails to commit because of conflict' "
-       git-svn init $svnrepo &&
+test_expect_success 'dcommit fails to commit because of conflict' '
+       git-svn init "$svnrepo" &&
        git-svn fetch &&
        git reset --hard refs/remotes/git-svn &&
-       svn co $svnrepo t.svn &&
+       svn co "$svnrepo" t.svn &&
        cd t.svn &&
        echo fourth line from svn >> file &&
        poke file &&
-       svn commit -m 'fourth line from svn' &&
+       svn commit -m "fourth line from svn" &&
        cd .. &&
        rm -rf t.svn &&
-       echo 'fourth line from git' >> file &&
-       git commit -a -m 'fourth line from git' &&
-       git-svn dcommit
-       " || true
+       echo "fourth line from git" >> file &&
+       git commit -a -m "fourth line from git" &&
+       test_must_fail git-svn dcommit
+       '
 
 test_expect_success 'dcommit does the svn equivalent of an index merge' "
        git reset --hard refs/remotes/git-svn &&
@@ -66,4 +66,36 @@ test_expect_success 'dcommit does the svn equivalent of an index merge' "
        git-svn dcommit
        "
 
+test_expect_success 'commit another change from svn side' '
+       svn co "$svnrepo" t.svn &&
+       cd t.svn &&
+               echo third line from svn >> file &&
+               poke file &&
+               svn commit -m "third line from svn" &&
+       cd .. &&
+       rm -rf t.svn
+       '
+
+test_expect_success 'multiple dcommit from git-svn will not clobber svn' "
+       git reset --hard refs/remotes/git-svn &&
+       echo new file >> new-file &&
+       git update-index --add new-file &&
+       git commit -a -m 'new file' &&
+       echo clobber > file &&
+       git commit -a -m 'clobber' &&
+       test_must_fail git svn dcommit
+       "
+
+
+test_expect_success 'check that rebase really failed' '
+       test -d .git/rebase-apply
+'
+
+test_expect_success 'resolve, continue the rebase and dcommit' "
+       echo clobber and I really mean it > file &&
+       git update-index file &&
+       git rebase --continue &&
+       git svn dcommit
+       "
+
 test_done