{"thread":{"id":"21634","subject":"[PATCH] Document git-svn's first-parent rule","startedAt":"2009-11-16T10:15:17Z","lastAt":"2009-11-17T18:25:07Z","messageCount":5,"participants":["Thomas Rast","Eric Wong","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"127667","messageId":"ea845c8757a629d692bb6cd3827887f0e811c044.1258366486.git.trast@student.ethz.ch","threadId":"21634","inReplyTo":null,"subject":"[PATCH] Document git-svn's first-parent rule","fromName":"Thomas Rast","fromEmail":"trast@student.ethz.ch","sentAt":"2009-11-16T10:15:17Z","receivedAt":"2009-11-16T10:15:17Z","isPatch":true,"sender":{"key":"tr@thomasrast.ch","avatar":"https://avatars.githubusercontent.com/u/153510?v=4"},"body":"git-svn has the following rule to detect the SVN base for its\noperations: find the first git-svn-id line reachable through\nfirst-parent ancestry.  IOW,\n\n  git log --grep=^git-svn-id: --first-parent -1\n\nDocument this, as it is very important when using merges with git-svn.\n\nSigned-off-by: Thomas Rast <trast@student.ethz.ch>\n---\n Documentation/git-svn.txt |   10 ++++++++++\n 1 files changed, 10 insertions(+), 0 deletions(-)\n\ndiff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt\nindex 1812890..6da4151 100644\n--- a/Documentation/git-svn.txt\n+++ b/Documentation/git-svn.txt\n@@ -735,6 +735,16 @@ merges you've made.  Furthermore, if you merge or pull from a git branch\n that is a mirror of an SVN branch, 'dcommit' may commit to the wrong\n branch.\n \n+If you do merge, note the following rule: 'git svn dcommit' will\n+attempt to commit on top of the SVN commit named in\n+------------------------------------------------------------------------\n+git log --grep=^git-svn-id: --first-parent -1\n+------------------------------------------------------------------------\n+You 'must' therefore ensure that the most recent commit of the branch\n+you want to dcommit to is the 'first' parent of the merge.  Chaos will\n+ensue otherwise, especially if the first parent is an older commit on\n+the same SVN branch.\n+\n 'git clone' does not clone branches under the refs/remotes/ hierarchy or\n any 'git svn' metadata, or config.  So repositories created and managed with\n using 'git svn' should use 'rsync' for cloning, if cloning is to be done\n-- \n1.6.5.2.427.ge73cb\n"},{"id":"127709","messageId":"20091116231455.GA13460@dcvr.yhbt.net","threadId":"21634","inReplyTo":"ea845c8757a629d692bb6cd3827887f0e811c044.1258366486.git.trast@student.ethz.ch","subject":"Re: [PATCH] Document git-svn's first-parent rule","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2009-11-16T23:14:55Z","receivedAt":"2009-11-16T23:14:55Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Thomas Rast <trast@student.ethz.ch> wrote:\n> git-svn has the following rule to detect the SVN base for its\n> operations: find the first git-svn-id line reachable through\n> first-parent ancestry.  IOW,\n> \n>   git log --grep=^git-svn-id: --first-parent -1\n> \n> Document this, as it is very important when using merges with git-svn.\n> \n> Signed-off-by: Thomas Rast <trast@student.ethz.ch>\n\nThanks Thomas,\n\nAcked-by: Eric Wong <normalperson@yhbt.net>\n\n> ---\n>  Documentation/git-svn.txt |   10 ++++++++++\n>  1 files changed, 10 insertions(+), 0 deletions(-)\n> \n> diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt\n> index 1812890..6da4151 100644\n> --- a/Documentation/git-svn.txt\n> +++ b/Documentation/git-svn.txt\n> @@ -735,6 +735,16 @@ merges you've made.  Furthermore, if you merge or pull from a git branch\n>  that is a mirror of an SVN branch, 'dcommit' may commit to the wrong\n>  branch.\n>  \n> +If you do merge, note the following rule: 'git svn dcommit' will\n> +attempt to commit on top of the SVN commit named in\n> +------------------------------------------------------------------------\n> +git log --grep=^git-svn-id: --first-parent -1\n> +------------------------------------------------------------------------\n> +You 'must' therefore ensure that the most recent commit of the branch\n> +you want to dcommit to is the 'first' parent of the merge.  Chaos will\n> +ensue otherwise, especially if the first parent is an older commit on\n> +the same SVN branch.\n> +\n>  'git clone' does not clone branches under the refs/remotes/ hierarchy or\n>  any 'git svn' metadata, or config.  So repositories created and managed with\n>  using 'git svn' should use 'rsync' for cloning, if cloning is to be done\n> -- \n"},{"id":"127736","messageId":"7vd43his6n.fsf@alter.siamese.dyndns.org","threadId":"21634","inReplyTo":"20091116231455.GA13460@dcvr.yhbt.net","subject":"Re: [PATCH] Document git-svn's first-parent rule","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-11-17T06:25:20Z","receivedAt":"2009-11-17T06:25:20Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Eric Wong <normalperson@yhbt.net> writes:\n\n> Thomas Rast <trast@student.ethz.ch> wrote:\n>> git-svn has the following rule to detect the SVN base for its\n>> operations: find the first git-svn-id line reachable through\n>> first-parent ancestry.  IOW,\n>> \n>>   git log --grep=^git-svn-id: --first-parent -1\n>> \n>> Document this, as it is very important when using merges with git-svn.\n>> \n>> Signed-off-by: Thomas Rast <trast@student.ethz.ch>\n>\n> Thanks Thomas,\n>\n> Acked-by: Eric Wong <normalperson@yhbt.net>\n\nThanks; is it a good time to pull from your bogomips repository to get\naccumulated changes?\n"},{"id":"127745","messageId":"20091117074208.GA337@dcvr.yhbt.net","threadId":"21634","inReplyTo":"7vd43his6n.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH] Document git-svn's first-parent rule","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2009-11-17T07:42:08Z","receivedAt":"2009-11-17T07:42:08Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Junio C Hamano <gitster@pobox.com> wrote:\n> Eric Wong <normalperson@yhbt.net> writes:\n> \n> > Thomas Rast <trast@student.ethz.ch> wrote:\n> >> git-svn has the following rule to detect the SVN base for its\n> >> operations: find the first git-svn-id line reachable through\n> >> first-parent ancestry.  IOW,\n> >> \n> >>   git log --grep=^git-svn-id: --first-parent -1\n> >> \n> >> Document this, as it is very important when using merges with git-svn.\n> >> \n> >> Signed-off-by: Thomas Rast <trast@student.ethz.ch>\n> >\n> > Thanks Thomas,\n> >\n> > Acked-by: Eric Wong <normalperson@yhbt.net>\n> \n> Thanks; is it a good time to pull from your bogomips repository to get\n> accumulated changes?\n\nNow is, I just pushed to it:\n\nEric Wong (3):\n      git svn: read global+system config for clone+init\n      git svn: add authorsfile test case for ~/.gitconfig\n      git svn: attempt to create empty dirs on clone+rebase\n\nThomas Rast (1):\n      Document git-svn's first-parent rule\n\nToby Allsopp (1):\n      git svn: handle SVN merges from revisions past the tip of the branch\n\nHEAD=ce45a45f24cc7b3ccc7f6ebcd0025559b4421bda\n\n-- \nEric Wong\n"},{"id":"127770","messageId":"7vzl6ldn5o.fsf@alter.siamese.dyndns.org","threadId":"21634","inReplyTo":"20091117074208.GA337@dcvr.yhbt.net","subject":"Re: [PATCH] Document git-svn's first-parent rule","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-11-17T18:25:07Z","receivedAt":"2009-11-17T18:25:07Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Eric Wong <normalperson@yhbt.net> writes:\n\n>> Thanks; is it a good time to pull from your bogomips repository to get\n>> accumulated changes?\n>\n> Now is, I just pushed to it:\n>\n> Eric Wong (3):\n>       git svn: read global+system config for clone+init\n>       git svn: add authorsfile test case for ~/.gitconfig\n>       git svn: attempt to create empty dirs on clone+rebase\n>\n> Thomas Rast (1):\n>       Document git-svn's first-parent rule\n>\n> Toby Allsopp (1):\n>       git svn: handle SVN merges from revisions past the tip of the branch\n>\n> HEAD=ce45a45f24cc7b3ccc7f6ebcd0025559b4421bda\n\nThanks, pulled.\n"}]}