summaryrefslogtreecommitdiff
path: root/t/t9137-git-svn-dcommit-clobber-series.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-05-25 00:59:07 -0700
committerJunio C Hamano <gitster@pobox.com>2009-05-25 00:59:07 -0700
commitee969693c5e77e1b5ebda45bead569806d31b379 (patch)
tree25d803cd17cbe891a9937f3e3442a1d7863ae773 /t/t9137-git-svn-dcommit-clobber-series.sh
parent4c8d4c14c6de59bc14d6118724ffee949e8654a7 (diff)
parent9619ff14159ab3401636b9883a715b0f20b051df (diff)
downloadgit-ee969693c5e77e1b5ebda45bead569806d31b379.tar.gz
Merge branch 'master' into sb/opt-filename
* master: (654 commits) http-push.c::remove_locks(): fix use after free t/t3400-rebase.sh: add more tests to help migrating git-rebase.sh to C post-receive-email: hooks.showrev: show how to include both web link and patch MinGW: Fix compiler warning in merge-recursive MinGW: Add a simple getpass() MinGW: use POSIX signature of waitpid() MinGW: the path separator to split GITPERLLIB is ';' on Win32 MinGW: Scan for \r in addition to \n when reading shbang lines gitweb: Sanitize title attribute in format_subject_html Terminate argv with NULL before calling setup_revisions() doc/git-rebase.txt: remove mention of multiple strategies git-send-email: Handle quotes when parsing .mailrc files git-svn: add --authors-prog option git-svn: Set svn.authorsfile if it is passed to git svn clone git-svn: Correctly report max revision when following deleted paths git-svn: Fix for svn paths removed > log-window-size revisions ago git-svn testsuite: use standard configuration for Subversion tools grep: fix word-regexp colouring completion: use git rev-parse to detect bare repos Cope better with a _lot_ of packs ...
Diffstat (limited to 't/t9137-git-svn-dcommit-clobber-series.sh')
-rwxr-xr-xt/t9137-git-svn-dcommit-clobber-series.sh63
1 files changed, 63 insertions, 0 deletions
diff --git a/t/t9137-git-svn-dcommit-clobber-series.sh b/t/t9137-git-svn-dcommit-clobber-series.sh
new file mode 100755
index 0000000000..636ca0abb9
--- /dev/null
+++ b/t/t9137-git-svn-dcommit-clobber-series.sh
@@ -0,0 +1,63 @@
+#!/bin/sh
+#
+# Copyright (c) 2007 Eric Wong
+test_description='git svn dcommit clobber series'
+. ./lib-git-svn.sh
+
+test_expect_success 'initialize repo' '
+ mkdir import &&
+ cd import &&
+ awk "BEGIN { for (i = 1; i < 64; i++) { print i } }" > file
+ svn_cmd import -m "initial" . "$svnrepo" &&
+ cd .. &&
+ git svn init "$svnrepo" &&
+ git svn fetch &&
+ test -e file
+ '
+
+test_expect_success '(supposedly) non-conflicting change from SVN' '
+ test x"`sed -n -e 58p < file`" = x58 &&
+ test x"`sed -n -e 61p < file`" = x61 &&
+ svn_cmd co "$svnrepo" tmp &&
+ cd tmp &&
+ perl -i.bak -p -e "s/^58$/5588/" file &&
+ perl -i.bak -p -e "s/^61$/6611/" file &&
+ poke file &&
+ test x"`sed -n -e 58p < file`" = x5588 &&
+ test x"`sed -n -e 61p < file`" = x6611 &&
+ svn_cmd commit -m "58 => 5588, 61 => 6611" &&
+ cd ..
+ '
+
+test_expect_success 'some unrelated changes to git' "
+ echo hi > life &&
+ git update-index --add life &&
+ git commit -m hi-life &&
+ echo bye >> life &&
+ git commit -m bye-life life
+ "
+
+test_expect_success 'change file but in unrelated area' "
+ test x\"\`sed -n -e 4p < file\`\" = x4 &&
+ test x\"\`sed -n -e 7p < file\`\" = x7 &&
+ perl -i.bak -p -e 's/^4\$/4444/' file &&
+ perl -i.bak -p -e 's/^7\$/7777/' file &&
+ test x\"\`sed -n -e 4p < file\`\" = x4444 &&
+ test x\"\`sed -n -e 7p < file\`\" = x7777 &&
+ git commit -m '4 => 4444, 7 => 7777' file &&
+ git svn dcommit &&
+ svn_cmd up tmp &&
+ cd tmp &&
+ test x\"\`sed -n -e 4p < file\`\" = x4444 &&
+ test x\"\`sed -n -e 7p < file\`\" = x7777 &&
+ test x\"\`sed -n -e 58p < file\`\" = x5588 &&
+ test x\"\`sed -n -e 61p < file\`\" = x6611
+ "
+
+test_expect_success 'attempt to dcommit with a dirty index' '
+ echo foo >>file &&
+ git add file &&
+ test_must_fail git svn dcommit
+'
+
+test_done