summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorLibravatar Eric Wong <normalperson@yhbt.net>2007-01-26 01:32:45 -0800
committerLibravatar Eric Wong <normalperson@yhbt.net>2007-02-23 00:57:10 -0800
commitd3a840dc74d2098c31aac1b89093d847e1d33dd8 (patch)
tree164afbd36a5a9fd08266fbadb1f997e5caf2f6c5 /t
parentgit-svn: fix segfaults from accessing svn_log_changed_path_t (diff)
downloadtgif-d3a840dc74d2098c31aac1b89093d847e1d33dd8.tar.xz
git-svn: fix committing to subdirectories, add tests
I broke this part with the URL minimization; since git-svn will now try to connect to the root of the repository and will end up writing files there if it can... Signed-off-by: Eric Wong <normalperson@yhbt.net>
Diffstat (limited to 't')
-rwxr-xr-xt/t9100-git-svn-basic.sh29
-rwxr-xr-xt/t9105-git-svn-commit-diff.sh9
2 files changed, 38 insertions, 0 deletions
diff --git a/t/t9100-git-svn-basic.sh b/t/t9100-git-svn-basic.sh
index 5355243b92..3dc4de2fad 100755
--- a/t/t9100-git-svn-basic.sh
+++ b/t/t9100-git-svn-basic.sh
@@ -236,4 +236,33 @@ test_expect_success \
'^:refs/remotes/git-svn$'
"
+test_expect_success 'able to dcommit to a subdirectory' "
+ git-svn fetch -i bar &&
+ git checkout -b my-bar refs/remotes/bar &&
+ echo abc > d &&
+ git update-index --add d &&
+ git commit -m '/bar/d should be in the log' &&
+ git-svn dcommit -i bar &&
+ test -z \"\`git diff refs/heads/my-bar refs/remotes/bar\`\" &&
+ mkdir newdir &&
+ echo new > newdir/dir &&
+ git update-index --add newdir/dir &&
+ git commit -m 'add a new directory' &&
+ git-svn dcommit -i bar &&
+ test -z \"\`git diff refs/heads/my-bar refs/remotes/bar\`\" &&
+ echo foo >> newdir/dir &&
+ git update-index newdir/dir &&
+ git commit -m 'modify a file in new directory' &&
+ git-svn dcommit -i bar &&
+ test -z \"\`git diff refs/heads/my-bar refs/remotes/bar\`\"
+ "
+
+test_expect_success 'able to set-tree to a subdirectory' "
+ echo cba > d &&
+ git update-index d &&
+ git commit -m 'update /bar/d' &&
+ git-svn set-tree -i bar HEAD &&
+ test -z \"\`git diff refs/heads/my-bar refs/remotes/bar\`\"
+ "
+
test_done
diff --git a/t/t9105-git-svn-commit-diff.sh b/t/t9105-git-svn-commit-diff.sh
index 6323c7e3ac..c668dd1270 100755
--- a/t/t9105-git-svn-commit-diff.sh
+++ b/t/t9105-git-svn-commit-diff.sh
@@ -31,4 +31,13 @@ test_expect_success 'test the commit-diff command' "
cmp readme wc/readme
"
+test_expect_success 'commit-diff to a sub-directory (with git-svn config)' "
+ svn import -m 'sub-directory' import $svnrepo/subdir &&
+ git-svn init $svnrepo/subdir &&
+ git-svn fetch &&
+ git-svn commit-diff -r3 '$prev' '$head' &&
+ svn cat $svnrepo/subdir/readme > readme.2 &&
+ cmp readme readme.2
+ "
+
test_done