Merge branch 'jk/commit-v-strip'
[gitweb.git] / t / t9115-git-svn-dcommit-funky-renames.sh
index 182299cbb53a8bae9e3cd51f9aff9073e08559c1..9be7aefaeea0af4d988ca656b3df0008f04a58d3 100755 (executable)
@@ -3,20 +3,20 @@
 # Copyright (c) 2007 Eric Wong
 
 
-test_description='git-svn dcommit can commit renames of files with ugly names'
+test_description='git svn dcommit can commit renames of files with ugly names'
 
 . ./lib-git-svn.sh
 
-test_expect_success 'load repository with strange names' "
-       svnadmin load -q $rawsvnrepo < ../t9115/funky-names.dump &&
-       start_httpd
-       "
+test_expect_success 'load repository with strange names' '
+       svnadmin load -q "$rawsvnrepo" < "$TEST_DIRECTORY"/t9115/funky-names.dump &&
+       start_httpd gtk+
+       '
 
-test_expect_success 'init and fetch repository' "
-       git svn init $svnrepo &&
+test_expect_success 'init and fetch repository' '
+       git svn init "$svnrepo" &&
        git svn fetch &&
        git reset --hard git-svn
-       "
+       '
 
 test_expect_success 'create file in existing ugly and empty dir' '
        mkdir "#{bad_directory_name}" &&
@@ -49,6 +49,39 @@ test_expect_success 'rename pretty file into ugly one' '
        git svn dcommit
        '
 
+test_expect_success 'add a file with plus signs' '
+       echo .. > +_+ &&
+       git update-index --add +_+ &&
+       git commit -m plus &&
+       mkdir gtk+ &&
+       git mv +_+ gtk+/_+_ &&
+       git commit -m plus_dir &&
+       git svn dcommit
+       '
+
+test_expect_success 'clone the repository to test rebase' '
+       git svn clone "$svnrepo" test-rebase &&
+       cd test-rebase &&
+               echo test-rebase > test-rebase &&
+               git add test-rebase &&
+               git commit -m test-rebase &&
+               cd ..
+       '
+
+test_expect_success 'make a commit to test rebase' '
+               echo test-rebase-main > test-rebase-main &&
+               git add test-rebase-main &&
+               git commit -m test-rebase-main &&
+               git svn dcommit
+       '
+
+test_expect_success 'git svn rebase works inside a fresh-cloned repository' '
+       cd test-rebase &&
+               git svn rebase &&
+               test -e test-rebase-main &&
+               test -e test-rebase
+       '
+
 stop_httpd
 
 test_done