summaryrefslogtreecommitdiffstats
path: root/t/t9127-git-svn-partial-rebuild.sh
diff options
context:
space:
mode:
Diffstat (limited to 't/t9127-git-svn-partial-rebuild.sh')
-rwxr-xr-xt/t9127-git-svn-partial-rebuild.sh60
1 files changed, 60 insertions, 0 deletions
diff --git a/t/t9127-git-svn-partial-rebuild.sh b/t/t9127-git-svn-partial-rebuild.sh
new file mode 100755
index 0000000..97f495b
--- /dev/null
+++ b/t/t9127-git-svn-partial-rebuild.sh
@@ -0,0 +1,60 @@
+#!/bin/sh
+#
+# Copyright (c) 2008 Deskin Miller
+#
+
+test_description='git svn partial-rebuild tests'
+
+. ./lib-git-svn.sh
+
+test_expect_success 'initialize svnrepo' '
+ mkdir import &&
+ (
+ (cd import &&
+ mkdir trunk branches tags &&
+ (cd trunk &&
+ echo foo > foo
+ ) &&
+ svn_cmd import -m "import for git-svn" . "$svnrepo" >/dev/null &&
+ svn_cmd copy "$svnrepo"/trunk "$svnrepo"/branches/a \
+ -m "created branch a"
+ ) &&
+ rm -rf import &&
+ svn_cmd co "$svnrepo"/trunk trunk &&
+ (cd trunk &&
+ echo bar >> foo &&
+ svn_cmd ci -m "updated trunk"
+ ) &&
+ svn_cmd co "$svnrepo"/branches/a a &&
+ (cd a &&
+ echo baz >> a &&
+ svn_cmd add a &&
+ svn_cmd ci -m "updated a"
+ ) &&
+ git svn init --stdlayout "$svnrepo"
+ )
+'
+
+test_expect_success 'import an early SVN revision into git' '
+ git svn fetch -r1:2
+'
+
+test_expect_success 'make full git mirror of SVN' '
+ mkdir mirror &&
+ (
+ (cd mirror &&
+ git init &&
+ git svn init --stdlayout "$svnrepo" &&
+ git svn fetch
+ )
+ )
+'
+
+test_expect_success 'fetch from git mirror and partial-rebuild' '
+ git config --add remote.origin.url "file://$PWD/mirror/.git" &&
+ git config --add remote.origin.fetch refs/remotes/*:refs/remotes/* &&
+ git fetch origin &&
+ git svn fetch
+'
+
+test_done