summaryrefslogtreecommitdiff
path: root/contrib/git-svn/git-svn.txt
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2006-03-03 01:20:07 -0800
committerJunio C Hamano <junkio@cox.net>2006-03-03 11:27:10 -0800
commit69f0d91e49dbf3c3942bae125c07ad17f6027f83 (patch)
treeea9a298863f655f495245d6b9dfbb2a0099d14b3 /contrib/git-svn/git-svn.txt
parenta41c175d6f3e903844131b6dc39da986248c7585 (diff)
downloadgit-69f0d91e49dbf3c3942bae125c07ad17f6027f83.tar.gz
contrib/git-svn: add -b/--branch switch for branch detection
I've said I don't like branches in Subversion, and I still don't. This is a bit more flexible, though, as the argument for -b is any arbitrary git head/tag reference. This makes some things easier: * Importing git history into a brand new SVN branch. * Tracking multiple SVN branches via GIT_SVN_ID, even from multiple repositories. * Adding tags from SVN (still need to use GIT_SVN_ID, though). * Even merge tracking is supported, if and only the heads end up with 100% equivalent tree objects. This is more stricter but more robust and foolproof than parsing commit messages, imho. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'contrib/git-svn/git-svn.txt')
-rw-r--r--contrib/git-svn/git-svn.txt17
1 files changed, 16 insertions, 1 deletions
diff --git a/contrib/git-svn/git-svn.txt b/contrib/git-svn/git-svn.txt
index 4102deb381..7306048bff 100644
--- a/contrib/git-svn/git-svn.txt
+++ b/contrib/git-svn/git-svn.txt
@@ -27,7 +27,7 @@ For importing svn, git-svnimport is potentially more powerful when
operating on repositories organized under the recommended
trunk/branch/tags structure, and should be faster, too.
-git-svn completely ignores the very limited view of branching that
+git-svn mostly ignores the very limited view of branching that
Subversion has. This allows git-svn to be much easier to use,
especially on repositories that are not organized in a manner that
git-svnimport is designed for.
@@ -116,6 +116,21 @@ OPTIONS
They are both passed directly to git-diff-tree see
git-diff-tree(1) for more information.
+-b<refname>::
+--branch <refname>::
+ Used with 'fetch' or 'commit'.
+
+ This can be used to join arbitrary git branches to remotes/git-svn
+ on new commits where the tree object is equivalent.
+
+ When used with different GIT_SVN_ID values, tags and branches in
+ SVN can be tracked this way, as can some merges where the heads
+ end up having completely equivalent content. This can even be
+ used to track branches across multiple SVN _repositories_.
+
+ This option may be specified multiple times, once for each
+ branch.
+
COMPATIBILITY OPTIONS
---------------------
--no-ignore-externals::