From: Thomas Rast Date: Mon, 16 Nov 2009 10:15:17 +0000 (+0100) Subject: Document git-svn's first-parent rule X-Git-Tag: v1.6.6-rc0~41^2 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=ce45a45f24cc7b3ccc7f6ebcd0025559b4421bda;p=git.git Document git-svn's first-parent rule git-svn has the following rule to detect the SVN base for its operations: find the first git-svn-id line reachable through first-parent ancestry. IOW, git log --grep=^git-svn-id: --first-parent -1 Document this, as it is very important when using merges with git-svn. Signed-off-by: Thomas Rast --- diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt index db00ed43b..4cdca0d87 100644 --- a/Documentation/git-svn.txt +++ b/Documentation/git-svn.txt @@ -742,6 +742,16 @@ merges you've made. Furthermore, if you merge or pull from a git branch that is a mirror of an SVN branch, 'dcommit' may commit to the wrong branch. +If you do merge, note the following rule: 'git svn dcommit' will +attempt to commit on top of the SVN commit named in +------------------------------------------------------------------------ +git log --grep=^git-svn-id: --first-parent -1 +------------------------------------------------------------------------ +You 'must' therefore ensure that the most recent commit of the branch +you want to dcommit to is the 'first' parent of the merge. Chaos will +ensue otherwise, especially if the first parent is an older commit on +the same SVN branch. + 'git clone' does not clone branches under the refs/remotes/ hierarchy or any 'git svn' metadata, or config. So repositories created and managed with using 'git svn' should use 'rsync' for cloning, if cloning is to be done