path: root/Documentation/git-svn.txt
diff options
authorThomas Rast <>2009-11-16 10:15:17 (GMT)
committerEric Wong <>2009-11-17 07:33:58 (GMT)
commitce45a45f24cc7b3ccc7f6ebcd0025559b4421bda (patch)
tree83690528af39b5d9ae656fdcdd29ea37f6175a6e /Documentation/git-svn.txt
parent6111b934991f3ea670ac2442806c976defc7b61c (diff)
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 <>
Diffstat (limited to 'Documentation/git-svn.txt')
1 files changed, 10 insertions, 0 deletions
diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt
index db00ed4..4cdca0d 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
+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