-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
git-svn: add --follow-parent and --no-metadata options to fetch
--follow-parent: This is especially helpful when we're tracking a directory that has been moved around within the repository, or if we started tracking a branch and never tracked the trunk it was descended from. This relies on the SVN::* libraries to work. We can't reliably parse path info from the svn command-line client without relying on XML, so it's better just to have the SVN::* libs installed. This also removes oldvalue verification when calling update-ref In SVN, branches can be deleted, and then recreated under the same path as the original one with different ancestry information, causing parent information to be mismatched / misordered. Also force the current ref, if existing, to be a parent, regardless of whether or not it was specified. --no-metadata: This gets rid of the git-svn-id: lines at the end of every commit. With this, you lose the ability to use the rebuild command. If you ever lose your .git/svn/git-svn/.rev_db file, you won't be able to fetch again, either. This is fine for one-shot imports. Also fix some issues with multi-fetch --follow-parent that were exposed while testing this. Additionally, repack checking is simplified greatly. git-svn log will not work on repositories using this, either. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
- Loading branch information
Eric Wong
authored and
Junio C Hamano
committed
Jun 28, 2006
1 parent
27e9fb8
commit a00439a
Showing
2 changed files
with
167 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
#!/bin/sh | ||
# | ||
# Copyright (c) 2006 Eric Wong | ||
# | ||
|
||
test_description='git-svn --follow-parent fetching' | ||
. ./lib-git-svn.sh | ||
|
||
if test -n "$GIT_SVN_NO_LIB" && test "$GIT_SVN_NO_LIB" -ne 0 | ||
then | ||
echo 'Skipping: --follow-parent needs SVN libraries' | ||
test_done | ||
exit 0 | ||
fi | ||
|
||
test_expect_success 'initialize repo' " | ||
mkdir import && | ||
cd import && | ||
mkdir -p trunk && | ||
echo hello > trunk/readme && | ||
svn import -m 'initial' . $svnrepo && | ||
cd .. && | ||
svn co $svnrepo wc && | ||
cd wc && | ||
echo world >> trunk/readme && | ||
svn commit -m 'another commit' && | ||
svn up && | ||
svn mv -m 'rename to thunk' trunk thunk && | ||
svn up && | ||
echo goodbye >> thunk/readme && | ||
svn commit -m 'bye now' && | ||
cd .. | ||
" | ||
|
||
test_expect_success 'init and fetch --follow-parent a moved directory' " | ||
git-svn init -i thunk $svnrepo/thunk && | ||
git-svn fetch --follow-parent -i thunk && | ||
git-rev-parse --verify refs/remotes/trunk && | ||
test '$?' -eq '0' | ||
" | ||
|
||
test_debug 'gitk --all &' | ||
|
||
test_done |