mirror of
https://github.com/git/git
synced 2024-08-25 02:35:46 +00:00
![Jay Soffian](/assets/img/avatar_default.png)
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>
26 lines
579 B
Bash
Executable file
26 lines
579 B
Bash
Executable file
#!/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
|