summaryrefslogtreecommitdiff
path: root/t/t9153-git-svn-rewrite-uuid.sh
diff options
context:
space:
mode:
authorJay Soffian <jaysoffian@gmail.com>2010-01-23 03:30:00 -0500
committerEric Wong <normalperson@yhbt.net>2010-01-23 03:23:04 -0800
commit3e18ce1ac3034b1562ec748523aa7636e1b58b52 (patch)
treed4876c45fb29fbbb42e2a27f8be310c321520edd /t/t9153-git-svn-rewrite-uuid.sh
parentc79f1189bc4e7d9bb9cb673c043ce8f587a9a92d (diff)
downloadgit-3e18ce1ac3034b1562ec748523aa7636e1b58b52.tar.gz
git-svn: allow UUID to be manually remapped via rewriteUUID
In certain situations it may be necessary to manually remap an svn repostitory UUID. For example: o--- [git-svn clone] / [origin svn repo] \ o--- [svnsync clone] Imagine that only "git-svn clone" and "svnsync clone" are made available to external users. Furthur, "git-svn clone" contains only trunk, and for reasons unknown, "svnsync clone" is missing the revision properties that normally provide the origin svn repo's UUID. A git user who has cloned the "git-svn clone" repo now wishes to use git-svn to pull in the missing branches from the "synsync clone" repo. In order for git-svn to get the history correct for those branches, it needs to know the origin svn repo's UUID. Hence rewriteUUID. Signed-off-by: Jay Soffian <jaysoffian@gmail.com> Acked-by: Eric Wong <normalperson@yhbt.net>
Diffstat (limited to 't/t9153-git-svn-rewrite-uuid.sh')
-rwxr-xr-xt/t9153-git-svn-rewrite-uuid.sh25
1 files changed, 25 insertions, 0 deletions
diff --git a/t/t9153-git-svn-rewrite-uuid.sh b/t/t9153-git-svn-rewrite-uuid.sh
new file mode 100755
index 0000000000..88a2cfa233
--- /dev/null
+++ b/t/t9153-git-svn-rewrite-uuid.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+#
+# Copyright (c) 2010 Jay Soffian
+#
+
+test_description='git svn --rewrite-uuid test'
+
+. ./lib-git-svn.sh
+
+uuid=6cc8ada4-5932-4b4a-8242-3534ed8a3232
+
+test_expect_success 'load svn repo' "
+ svnadmin load -q '$rawsvnrepo' < '$TEST_DIRECTORY/t9153/svn.dump' &&
+ git svn init --minimize-url --rewrite-uuid='$uuid' '$svnrepo' &&
+ git svn fetch
+ "
+
+test_expect_success 'verify uuid' "
+ git cat-file commit refs/remotes/git-svn~0 | \
+ grep '^${git_svn_id}: .*@2 $uuid$' &&
+ git cat-file commit refs/remotes/git-svn~1 | \
+ grep '^${git_svn_id}: .*@1 $uuid$'
+ "
+
+test_done