{"thread":{"id":"23542","subject":"[PATCH/RFC 2/2] git-svn: Don't allow missing commit parent to stop git-svn","startedAt":"2010-04-20T21:30:19Z","lastAt":"2010-05-19T21:19:31Z","messageCount":12,"participants":["Michael Olson","Sam Vilain","Eric Wong","Michael J Gruber"],"isPatch":true,"patchVersion":1,"patchTotal":2},"messages":[{"id":"139999","messageId":"j2wc8b3bef91004201430ie371be83kee0e3e4c35ab9c9e@mail.gmail.com","threadId":"23542","inReplyTo":null,"subject":"[PATCH/RFC 2/2] git-svn: Don't allow missing commit parent to stop git-svn","fromName":"Michael Olson","fromEmail":"mwolson@gnu.org","sentAt":"2010-04-20T21:30:19Z","receivedAt":"2010-04-20T21:30:19Z","isPatch":true,"sender":{"key":"mwolson@gnu.org","avatar":"https://avatars.githubusercontent.com/u/1510193?v=4"},"body":"Instead, fall back to assuming that the incoming merge is a bunch of\ncherry-picks and ignore it.\n\nSigned-off-by: Michael W. Olson <mwolson@gnu.org>\n---\n git-svn.perl |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/git-svn.perl b/git-svn.perl\nindex 0e1feb3..1a53709 100755\n--- a/git-svn.perl\n+++ b/git-svn.perl\n@@ -3110,7 +3110,7 @@ sub check_cherry_pick {\n \tmy %commits = map { $_ => 1 }\n \t\t_rev_list(\"--no-merges\", $tip, \"--not\", $base);\n \tfor my $range ( @ranges ) {\n-\t\tdelete @commits{_rev_list($range)};\n+\t\teval { delete @commits{_rev_list($range)} };\n \t}\n \tfor my $commit (keys %commits) {\n \t\tif (has_no_changes($commit)) {\n-- \n1.7.1.rc0\n"},{"id":"140049","messageId":"1271880470.20208.47.camel@denix","threadId":"23542","inReplyTo":"j2wc8b3bef91004201430ie371be83kee0e3e4c35ab9c9e@mail.gmail.com","subject":"Re: [PATCH/RFC 2/2] git-svn: Don't allow missing commit parent to stop git-svn","fromName":"Sam Vilain","fromEmail":"sam@vilain.net","sentAt":"2010-04-21T20:07:50Z","receivedAt":"2010-04-21T20:07:50Z","isPatch":true,"sender":{"key":"sam@vilain.net","avatar":"https://gravatar.com/avatar/8fc840ca854dbf6f7065b4335e3b934951c1dca3b11db688e95e471901f8f4a8?d=mp&s=160"},"body":"On Tue, 2010-04-20 at 14:30 -0700, Michael Olson wrote:\n> Instead, fall back to assuming that the incoming merge is a bunch of\n> cherry-picks and ignore it.\n> \n> Signed-off-by: Michael W. Olson <mwolson@gnu.org>\n> ---\n>  git-svn.perl |    2 +-\n>  1 files changed, 1 insertions(+), 1 deletions(-)\n> \n> diff --git a/git-svn.perl b/git-svn.perl\n> index 0e1feb3..1a53709 100755\n> --- a/git-svn.perl\n> +++ b/git-svn.perl\n> @@ -3110,7 +3110,7 @@ sub check_cherry_pick {\n>  \tmy %commits = map { $_ => 1 }\n>  \t\t_rev_list(\"--no-merges\", $tip, \"--not\", $base);\n>  \tfor my $range ( @ranges ) {\n> -\t\tdelete @commits{_rev_list($range)};\n> +\t\teval { delete @commits{_rev_list($range)} };\n>  \t}\n>  \tfor my $commit (keys %commits) {\n>  \t\tif (has_no_changes($commit)) {\n\nIf the _rev_list here fails, it means it was passed in a bad range.\nThis means that the calling code somehow ends up with a commit ID\nwhich doesn't exist.  It's normally better to detect errors when\nthey happen, not deeper into other functions when they break things...\n\nSam\n"},{"id":"140054","messageId":"m2sc8b3bef91004211417n1f3368a7ica94a1c2a7656622@mail.gmail.com","threadId":"23542","inReplyTo":"1271880470.20208.47.camel@denix","subject":"Re: [PATCH/RFC 2/2] git-svn: Don't allow missing commit parent to stop git-svn","fromName":"Michael Olson","fromEmail":"mwolson@gnu.org","sentAt":"2010-04-21T21:17:13Z","receivedAt":"2010-04-21T21:17:13Z","isPatch":true,"sender":{"key":"mwolson@gnu.org","avatar":"https://avatars.githubusercontent.com/u/1510193?v=4"},"body":"On Wed, Apr 21, 2010 at 1:07 PM, Sam Vilain <sam@vilain.net> wrote:\n> On Tue, 2010-04-20 at 14:30 -0700, Michael Olson wrote:\n>> Instead, fall back to assuming that the incoming merge is a bunch of\n>> cherry-picks and ignore it.\n>>\n>> Signed-off-by: Michael W. Olson <mwolson@gnu.org>\n>> ---\n>>  git-svn.perl |    2 +-\n>>  1 files changed, 1 insertions(+), 1 deletions(-)\n>>\n>> diff --git a/git-svn.perl b/git-svn.perl\n>> index 0e1feb3..1a53709 100755\n>> --- a/git-svn.perl\n>> +++ b/git-svn.perl\n>> @@ -3110,7 +3110,7 @@ sub check_cherry_pick {\n>>       my %commits = map { $_ => 1 }\n>>               _rev_list(\"--no-merges\", $tip, \"--not\", $base);\n>>       for my $range ( @ranges ) {\n>> -             delete @commits{_rev_list($range)};\n>> +             eval { delete @commits{_rev_list($range)} };\n>>       }\n>>       for my $commit (keys %commits) {\n>>               if (has_no_changes($commit)) {\n>\n> If the _rev_list here fails, it means it was passed in a bad range.\n> This means that the calling code somehow ends up with a commit ID\n> which doesn't exist.  It's normally better to detect errors when\n> they happen, not deeper into other functions when they break things...\n\nInterestingly, I see people reporting the same problem in the thread\n\"git svn clone of subversion's own code failing\".  So it's not just\nrelated to patch 1/2 of this series.  At least that thread has a\npublic-facing repo so the problem should be easier to reproduce for a\nreal fix.\n\n-- \nMichael Olson  |  http://mwolson.org/\n"},{"id":"140079","messageId":"4BCF8E07.9080507@vilain.net","threadId":"23542","inReplyTo":"m2sc8b3bef91004211417n1f3368a7ica94a1c2a7656622@mail.gmail.com","subject":"Re: [spf:guess,iffy,mismatch] Re: [PATCH/RFC 2/2] git-svn: Don't allow missing commit parent to stop git-svn","fromName":"Sam Vilain","fromEmail":"sam@vilain.net","sentAt":"2010-04-21T23:45:11Z","receivedAt":"2010-04-21T23:45:11Z","isPatch":true,"sender":{"key":"sam@vilain.net","avatar":"https://gravatar.com/avatar/8fc840ca854dbf6f7065b4335e3b934951c1dca3b11db688e95e471901f8f4a8?d=mp&s=160"},"body":"Michael Olson wrote:\n> Interestingly, I see people reporting the same problem in the thread\n> \"git svn clone of subversion's own code failing\".  So it's not just\n> related to patch 1/2 of this series.  At least that thread has a\n> public-facing repo so the problem should be easier to reproduce for\n> a real fix.\n\nOh, right ... I remember that issue now. I'm currently testing the\nbelow change to see if it breaks the test suite; any issues and I'll\npost an update.\n\nSubject: [PATCH] git-svn: deal with svn cherry-picks with non-linear history\n\nThe expression 'BASE^..TIP' is only defined when BASE has parents.  It\nactually does what it intends only when it has one parent.\n\nAllow for more complicated revision list arguments than a range by\nsplitting any space-containing arguments on the way into _rev_list,\nand check the parents of the bottom commit so that we may use the\ncorrect revision list specifier.\n---\n git-svn.perl |   22 +++++++++++++++++++---\n 1 files changed, 19 insertions(+), 3 deletions(-)\n\ndiff --git a/git-svn.perl b/git-svn.perl\nindex 2c86ea2..a82ca1a 100755\n--- a/git-svn.perl\n+++ b/git-svn.perl\n@@ -3063,8 +3063,24 @@ sub lookup_svn_merge {\n \t\t\tnext;\n \t\t}\n \n-\t\tpush @merged_commit_ranges,\n-\t\t\t\"$bottom_commit^..$top_commit\";\n+\t\t# how many parents does $bottom_commit have?\n+\t\tmy @parents = split / /, command_oneline(\n+\t\t\tqw(rev-list --parents -1 -m),\n+\t\t\t$bottom_commit,\n+\t\t       );\n+\t\tshift @parents;\n+\n+\t\tif ( @parents == 1 ) {\n+\t\t\tpush @merged_commit_ranges,\n+\t\t\t\t\"$bottom_commit^..$top_commit\";\n+\t\t}\n+\t\telsif ( @parents ) {\n+\t\t\tpush @merged_commit_ranges,\n+\t\t\t\t\"$top_commit --not @parents\";\n+\t\t}\n+\t\telse {\n+\t\t\tpush @merged_commit_ranges, $top_commit;\n+\t\t}\n \n \t\tif ( !defined $tip or $top > $tip ) {\n \t\t\t$tip = $top;\n@@ -3094,7 +3110,7 @@ sub check_cherry_pick {\n \tmy %commits = map { $_ => 1 }\n \t\t_rev_list(\"--no-merges\", $tip, \"--not\", $base);\n \tfor my $range ( @ranges ) {\n-\t\tdelete @commits{_rev_list($range)};\n+\t\tdelete @commits{_rev_list(split \" \", $range)};\n \t}\n \tfor my $commit (keys %commits) {\n \t\tif (has_no_changes($commit)) {\n-- \n1.7.0.2\n"},{"id":"140593","messageId":"r2jc8b3bef91004280851i865a911ei47b1be606dd560d9@mail.gmail.com","threadId":"23542","inReplyTo":"4BCF8E07.9080507@vilain.net","subject":"Re: [spf:guess,iffy,mismatch] Re: [PATCH/RFC 2/2] git-svn: Don't allow missing commit parent to stop git-svn","fromName":"Michael Olson","fromEmail":"mwolson@gnu.org","sentAt":"2010-04-28T15:51:12Z","receivedAt":"2010-04-28T15:51:12Z","isPatch":true,"sender":{"key":"mwolson@gnu.org","avatar":"https://avatars.githubusercontent.com/u/1510193?v=4"},"body":"On Wed, Apr 21, 2010 at 4:45 PM, Sam Vilain <sam@vilain.net> wrote:\n> Michael Olson wrote:\n>> Interestingly, I see people reporting the same problem in the thread\n>> \"git svn clone of subversion's own code failing\".  So it's not just\n>> related to patch 1/2 of this series.  At least that thread has a\n>> public-facing repo so the problem should be easier to reproduce for\n>> a real fix.\n>\n> Oh, right ... I remember that issue now. I'm currently testing the\n> below change to see if it breaks the test suite; any issues and I'll\n> post an update.\n>\n> Subject: [PATCH] git-svn: deal with svn cherry-picks with non-linear history\n>\n> The expression 'BASE^..TIP' is only defined when BASE has parents.  It\n> actually does what it intends only when it has one parent.\n>\n> Allow for more complicated revision list arguments than a range by\n> splitting any space-containing arguments on the way into _rev_list,\n> and check the parents of the bottom commit so that we may use the\n> correct revision list specifier.\n> ---\n>  git-svn.perl |   22 +++++++++++++++++++---\n>  1 files changed, 19 insertions(+), 3 deletions(-)\n>\n> [snip]\n\nThis change works great on my private repos, so it should supersede my\nversion which only did an eval.\n\n-- \nMichael Olson  |  http://mwolson.org/\n"},{"id":"140853","messageId":"20100503211942.GA1380@dcvr.yhbt.net","threadId":"23542","inReplyTo":"r2jc8b3bef91004280851i865a911ei47b1be606dd560d9@mail.gmail.com","subject":"Re: [PATCH/RFC 2/2] git-svn: Don't allow missing commit parent to stop git-svn","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2010-05-03T21:19:42Z","receivedAt":"2010-05-03T21:19:42Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Michael Olson <mwolson@gnu.org> wrote:\n> On Wed, Apr 21, 2010 at 4:45 PM, Sam Vilain <sam@vilain.net> wrote:\n> > Michael Olson wrote:\n> >> Interestingly, I see people reporting the same problem in the thread\n> >> \"git svn clone of subversion's own code failing\".  So it's not just\n> >> related to patch 1/2 of this series.  At least that thread has a\n> >> public-facing repo so the problem should be easier to reproduce for\n> >> a real fix.\n> >\n> > Oh, right ... I remember that issue now. I'm currently testing the\n> > below change to see if it breaks the test suite; any issues and I'll\n> > post an update.\n> >\n> > Subject: [PATCH] git-svn: deal with svn cherry-picks with non-linear history\n> \n> This change works great on my private repos, so it should supersede my\n> version which only did an eval.\n\nHave either of you had a chance to look into the test suite breakage\nfrom this patch?  Thanks.\n\n-- \nEric Wong\n"},{"id":"140890","messageId":"4BDFC171.5010103@drmicha.warpmail.net","threadId":"23542","inReplyTo":"20100503211942.GA1380@dcvr.yhbt.net","subject":"Re: [PATCH/RFC 2/2] git-svn: Don't allow missing commit parent to stop git-svn","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2010-05-04T06:40:49Z","receivedAt":"2010-05-04T06:40:49Z","isPatch":true,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"Eric Wong venit, vidit, dixit 03.05.2010 23:19:\n> Michael Olson <mwolson@gnu.org> wrote:\n>> On Wed, Apr 21, 2010 at 4:45 PM, Sam Vilain <sam@vilain.net> wrote:\n>>> Michael Olson wrote:\n>>>> Interestingly, I see people reporting the same problem in the thread\n>>>> \"git svn clone of subversion's own code failing\".  So it's not just\n>>>> related to patch 1/2 of this series.  At least that thread has a\n>>>> public-facing repo so the problem should be easier to reproduce for\n>>>> a real fix.\n>>>\n>>> Oh, right ... I remember that issue now. I'm currently testing the\n>>> below change to see if it breaks the test suite; any issues and I'll\n>>> post an update.\n>>>\n>>> Subject: [PATCH] git-svn: deal with svn cherry-picks with non-linear history\n>>\n>> This change works great on my private repos, so it should supersede my\n>> version which only did an eval.\n> \n> Have either of you had a chance to look into the test suite breakage\n> from this patch?  Thanks.\n> \n\nUhm, which one: The one in your subject line or the one in the quoted\nsubject line?\n\nMichael\n"},{"id":"140928","messageId":"20100504183452.GA30894@dcvr.yhbt.net","threadId":"23542","inReplyTo":"4BDFC171.5010103@drmicha.warpmail.net","subject":"Re: [PATCH/RFC 2/2] git-svn: Don't allow missing commit parent to stop git-svn","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2010-05-04T18:34:52Z","receivedAt":"2010-05-04T18:34:52Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Michael J Gruber <git@drmicha.warpmail.net> wrote:\n> Uhm, which one: The one in your subject line or the one in the quoted\n> subject line?\n\nSam's patch:\n  Subject: [PATCH] git-svn: deal with svn cherry-picks with non-linear history\n\nWhere he said:\n> >>> Oh, right ... I remember that issue now. I'm currently testing the\n> >>> below change to see if it breaks the test suite; any issues and I'll\n> >>> post an update.\n\nSorry for the confusion\n\n-- \nEric Wong\n"},{"id":"140943","messageId":"1273010555.20723.17.camel@denix","threadId":"23542","inReplyTo":"20100504183452.GA30894@dcvr.yhbt.net","subject":"Re: [PATCH/RFC 2/2] git-svn: Don't allow missing commit parent to stop git-svn","fromName":"Sam Vilain","fromEmail":"sam@vilain.net","sentAt":"2010-05-04T22:02:35Z","receivedAt":"2010-05-04T22:02:35Z","isPatch":true,"sender":{"key":"sam@vilain.net","avatar":"https://gravatar.com/avatar/8fc840ca854dbf6f7065b4335e3b934951c1dca3b11db688e95e471901f8f4a8?d=mp&s=160"},"body":"On Tue, 2010-05-04 at 18:34 +0000, Eric Wong wrote:\n> Michael J Gruber <git@drmicha.warpmail.net> wrote:\n> > Uhm, which one: The one in your subject line or the one in the quoted\n> > subject line?\n> \n> Sam's patch:\n>   Subject: [PATCH] git-svn: deal with svn cherry-picks with non-linear history\n> \n> Where he said:\n> > >>> Oh, right ... I remember that issue now. I'm currently testing the\n> > >>> below change to see if it breaks the test suite; any issues and I'll\n> > >>> post an update.\n> \n> Sorry for the confusion\n\nSorry for not following up - it didn't cause any test suite breakages\nwhen I tested it.  Especially if Michael has had joy with it I'd say\nit's good to go...\n\nSam\n"},{"id":"140949","messageId":"20100504231640.GA5075@dcvr.yhbt.net","threadId":"23542","inReplyTo":"1273010555.20723.17.camel@denix","subject":"Re: [PATCH/RFC 2/2] git-svn: Don't allow missing commit parent to stop git-svn","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2010-05-04T23:16:40Z","receivedAt":"2010-05-04T23:16:40Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Sam Vilain <sam@vilain.net> wrote:\n> On Tue, 2010-05-04 at 18:34 +0000, Eric Wong wrote:\n> > Michael J Gruber <git@drmicha.warpmail.net> wrote:\n> > > Uhm, which one: The one in your subject line or the one in the quoted\n> > > subject line?\n> > \n> > Sam's patch:\n> >   Subject: [PATCH] git-svn: deal with svn cherry-picks with non-linear history\n> > \n> > Where he said:\n> > > >>> Oh, right ... I remember that issue now. I'm currently testing the\n> > > >>> below change to see if it breaks the test suite; any issues and I'll\n> > > >>> post an update.\n> > \n> > Sorry for the confusion\n> \n> Sorry for not following up - it didn't cause any test suite breakages\n> when I tested it.  Especially if Michael has had joy with it I'd say\n> it's good to go...\n\nHi Sam,\n\nI'm using SVN 1.5.1 and getting the following error from\nt9151-svn-mergeinfo.sh (GIT_TEST_OPTS='-i -v'):\n\n(I haven't had many chances to look into this)\n\n*** t9151-svn-mergeinfo.sh ***\nInitialized empty Git repository in /home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/.git/\n* expecting success: \n\tsvnadmin load -q '/home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo' \t  < '/home/ew/git-core/t/t9151/svn-mergeinfo.dump' &&\n\tgit svn init --minimize-url -R svnmerge \t  --rewrite-root=http://svn.example.org \t  -T trunk -b branches 'file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo' &&\n\tgit svn fetch --all\n\t\nr1 = 7ed7a8721885457b4b334110ca70ed04c4f8166a (refs/remotes/trunk)\n\tA\tMakefile\nr2 = 2d5fcce57cec73616f628fbaed5a49ef3d0e42de (refs/remotes/trunk)\nFound possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/left, 1\nFound branch parent: (refs/remotes/left) 7ed7a8721885457b4b334110ca70ed04c4f8166a\nFollowing parent with do_switch\n\tA\tMakefile\nSuccessfully followed parent\nr3 = f9ab6c8a604f40729e9b681bb3a1e867f9fa3ae8 (refs/remotes/left)\nFound possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/right, 1\nFound branch parent: (refs/remotes/right) 7ed7a8721885457b4b334110ca70ed04c4f8166a\nFollowing parent with do_switch\n\tA\tMakefile\nSuccessfully followed parent\nr4 = ddaeba46f3443446ad10c8e9f9708015508a3b28 (refs/remotes/right)\n\tM\tMakefile\nr5 = aec3f7b969e8f39a07d95041e1a0fa1084a62636 (refs/remotes/left)\n\tM\tMakefile\nr6 = 4e8f83f1ab23aef5373017e90af34f1819af8cab (refs/remotes/right)\n\tM\tMakefile\nr7 = 6bc3353f7fcec0c37010a59b688fa9d2584a744d (refs/remotes/left)\n\tM\tMakefile\nr8 = 3126dfd1119e03e412157f726d08c90a3fd4d7d4 (refs/remotes/left)\nFound possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/left => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/left-sub, 3\nFound branch parent: (refs/remotes/left-sub) f9ab6c8a604f40729e9b681bb3a1e867f9fa3ae8\nFollowing parent with do_switch\n\tM\tMakefile\nSuccessfully followed parent\nr9 = 577c6d95762177126ca3068518ff8b75fcf0c25e (refs/remotes/left-sub)\n\tA\tREADME\nr10 = 0f51792c59119f80d15583143eecc11a609f7f4b (refs/remotes/left-sub)\n\tM\tMakefile\nFound merge parent (svn:mergeinfo prop): 3126dfd1119e03e412157f726d08c90a3fd4d7d4\nr11 = 684711c1a28ba8ad47b8dbcc1fae523e6d7513a6 (refs/remotes/trunk)\n\tA\tzlonk\nr12 = 48e21141201f46c911875b76b5656d8baac09a66 (refs/remotes/left)\n\tA\tbang\nr13 = 2d65500a924079bcf2a63be861289fc72bc3e87f (refs/remotes/right)\n\tA\tbang\n\tM\tMakefile\nW:svn cherry-pick ignored (/branches/right:6-13) - missing 1 commit(s) (eg ddaeba46f3443446ad10c8e9f9708015508a3b28)\nr14 = 963722fb11bb2d08a6acd03123060441585c7d97 (refs/remotes/trunk)\nFound merge parent (svn:mergeinfo prop): 2d65500a924079bcf2a63be861289fc72bc3e87f\nr15 = 7a0288891e49f8f764fafb9c51e0da446284f6e3 (refs/remotes/trunk)\n\tA\turkkk\nr16 = acd76c6201c8a7f1ba7539daebe82128902deb28 (refs/remotes/right)\n\tA\tvronk\nr17 = 3d987e350cb0b84c1a962f28322075148a4769f9 (refs/remotes/trunk)\n\tA\tbang\n\tA\turkkk\n\tM\tMakefile\nFound merge parent (svn:mergeinfo prop): acd76c6201c8a7f1ba7539daebe82128902deb28\nr18 = 33a71c4853e3bc75096416afb6b6a3f84317e11f (refs/remotes/left-sub)\n\tA\twham_eth\nr19 = c18b93e7676efb39156e30479f389f162e075937 (refs/remotes/left-sub)\n\tA\tglurpp\nr20 = d3a5e11772cce14223736862eaae254c6361de52 (refs/remotes/left)\n\tA\twham_eth\nW:svn cherry-pick ignored (/branches/left-sub:19) - missing 6 commit(s) (eg 0f51792c59119f80d15583143eecc11a609f7f4b)\nr21 = 26f066648b9fbb8d41953f51720855ea7b504643 (refs/remotes/left)\n\tA\tbang\n\tA\turkkk\n\tM\tMakefile\n\tA\tREADME\nFound merge parent (svn:mergeinfo prop): c18b93e7676efb39156e30479f389f162e075937\nr22 = 873f392f3b5b995738db38ddb497e4133a1eabd6 (refs/remotes/left)\n\tA\turkkk\n\tA\tglurpp\n\tA\twham_eth\n\tA\tREADME\n\tA\tzlonk\nFound merge parent (svn:mergeinfo prop): 873f392f3b5b995738db38ddb497e4133a1eabd6\nr23 = 10f41d438deef69896cd202a8dba696fccb1fc16 (refs/remotes/trunk)\nr24 = 8d72d496d3fd4fe5f56c4a458bb6b6bce8074ac3 (refs/remotes/trunk)\nFound possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/b1, 24\nFound branch parent: (refs/remotes/b1) 8d72d496d3fd4fe5f56c4a458bb6b6bce8074ac3\nFollowing parent with do_switch\nSuccessfully followed parent\nr25 = 9583bc1ca96e396c2e8a6afbe0d7677c952e76f9 (refs/remotes/b1)\nFound possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/b2, 25\nFound branch parent: (refs/remotes/b2) 8d72d496d3fd4fe5f56c4a458bb6b6bce8074ac3\nFollowing parent with do_switch\nSuccessfully followed parent\nr26 = b956cd3ea8808cb0732e51412dec60ce5d4c66de (refs/remotes/b2)\n\tA\tb2file\nr27 = 689fa6c27d1d57acd4f5e2ed3b78bfd3818cfa48 (refs/remotes/b2)\n\tA\tb1file\nr28 = c65e9d2dd0f29cc8756c66041aafca5ae7b40c87 (refs/remotes/b1)\n\tA\tb1file\nFound merge parent (svn:mergeinfo prop): c65e9d2dd0f29cc8756c66041aafca5ae7b40c87\nr29 = 8a70eced3c8b9eb56742bb2b8182d3363ef65c9c (refs/remotes/trunk)\n\tA\ttrunkfile\nr30 = 94dd10334175598f49a097035fcfba8563928048 (refs/remotes/trunk)\n\tA\tb1file\n\tA\ttrunkfile\nFound merge parent (svn:mergeinfo prop): c65e9d2dd0f29cc8756c66041aafca5ae7b40c87\nW:svn cherry-pick ignored (/trunk:26-30) - missing 1 commit(s) (eg c65e9d2dd0f29cc8756c66041aafca5ae7b40c87)\nr31 = 49faca9dc648191ba6b07f6b65f3373cc5a181e6 (refs/remotes/b2)\n\tA\tb2file\nFound merge parent (svn:mergeinfo prop): 49faca9dc648191ba6b07f6b65f3373cc5a181e6\nr32 = 9e1737778e06d26dc2fb72c05db08520d6cd20af (refs/remotes/trunk)\nFound possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/f1, 32\nFound branch parent: (refs/remotes/f1) 9e1737778e06d26dc2fb72c05db08520d6cd20af\nFollowing parent with do_switch\n\tA\tf1file\nSuccessfully followed parent\nr33 = 72393572fd4bb0d02ef034f768738c9b1360ad86 (refs/remotes/f1)\nFound possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/f2, 33\nFound branch parent: (refs/remotes/f2) 9e1737778e06d26dc2fb72c05db08520d6cd20af\nFollowing parent with do_switch\n\tA\tf2file\nSuccessfully followed parent\nr34 = 600530ec4ff61c1bb60f7e9a1319390b9696ea89 (refs/remotes/f2)\n\tA\tf1file\n\tA\tf2file\nFound merge parent (svn:mergeinfo prop): 72393572fd4bb0d02ef034f768738c9b1360ad86\nFound merge parent (svn:mergeinfo prop): 600530ec4ff61c1bb60f7e9a1319390b9696ea89\nr35 = 794650a0042fc4b45352798bd3d766ec71936859 (refs/remotes/trunk)\n\tA\tsubdir/cowboy\nr36 = 71b29806ce50e7abcebc021bddd47ea9925b62d1 (refs/remotes/left)\n\tA\tsubdir/cowboy\nFound merge parent (svn:mergeinfo prop): 71b29806ce50e7abcebc021bddd47ea9925b62d1\nr37 = 595aa4a85d3687795a49eed9fd2774609e0bc0eb (refs/remotes/trunk)\nFound possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk/subdir => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/partial, 37\nInitializing parent: refs/remotes/partial@37\nFound possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/left/subdir => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk/subdir, 36\nInitializing parent: refs/remotes/partial@36\n\tA\tcowboy\nr36 = 36ab2d3b9d077028fa3d659325ac8ca081e348bc (refs/remotes/partial@36)\nFound branch parent: (refs/remotes/partial@37) 36ab2d3b9d077028fa3d659325ac8ca081e348bc\nFollowing parent with do_switch\nSuccessfully followed parent\nr37 = 94ef88aa1ebfb64b5525f3aed8dd36d7ec63cecc (refs/remotes/partial@37)\nFound branch parent: (refs/remotes/partial) 94ef88aa1ebfb64b5525f3aed8dd36d7ec63cecc\nFollowing parent with do_switch\nSuccessfully followed parent\nr38 = 910f886650e45984540884fbce419222d5dbe772 (refs/remotes/partial)\n\tA\tpalindromes\nr39 = fdb537791ee8ba532e49c3d5a34a30feeb87bd59 (refs/remotes/partial)\n\tA\tsubdir/palindromes\nCouldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/b1/subdir\nCouldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/b2/subdir\nCouldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/f1/subdir\nCouldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/f2/subdir\nCouldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/left/subdir\nCouldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/left-sub/subdir\nCouldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/right/subdir\nW: Cannot find common ancestor between 595aa4a85d3687795a49eed9fd2774609e0bc0eb and fdb537791ee8ba532e49c3d5a34a30feeb87bd59. Ignoring merge info.\nr40 = 5805f49f999decd809f915d18f383d07d1626d5b (refs/remotes/trunk)\nFound possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/tags/v1.0 => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/bugfix, 41\nInitializing parent: refs/remotes/bugfix@41\nFound possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/tags/v1.0, 40\nFound branch parent: (refs/remotes/bugfix@41) 5805f49f999decd809f915d18f383d07d1626d5b\nFollowing parent with do_switch\nSuccessfully followed parent\nr41 = 4b3d91b566f045ddd4c362a1767cb925b66081e4 (refs/remotes/bugfix@41)\nFound branch parent: (refs/remotes/bugfix) 4b3d91b566f045ddd4c362a1767cb925b66081e4\nFollowing parent with do_switch\nSuccessfully followed parent\nr42 = 472a447664d739c39bcf87d5ad3a96212508ba39 (refs/remotes/bugfix)\n\tM\tsubdir/palindromes\nr43 = f6db7ed2ea491ff68fc056942fa988c29a384e47 (refs/remotes/bugfix)\n\tM\tsubdir/palindromes\nCouldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/bugfix/subdir\nCouldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/tags/v1.0/subdir\nW: Cannot find common ancestor between 5805f49f999decd809f915d18f383d07d1626d5b and fdb537791ee8ba532e49c3d5a34a30feeb87bd59. Ignoring merge info.\nCouldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/tags/v1.0\nFound merge parent (svn:mergeinfo prop): f6db7ed2ea491ff68fc056942fa988c29a384e47\nr44 = 16ad9cdbb78d7f1daf1b223d9afc0d9459692ded (refs/remotes/trunk)\nChecked out HEAD:\n  file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk r44\n*   ok 1: load svn dump\n\n* expecting success: \n\tunmarked=$(git rev-list --parents --all --grep=Merge |\n\t\tgrep -v \" .* \" | cut -f1 -d\" \")\n\t[ -z \"$unmarked\" ]\n\t\n*   ok 2: all svn merges became git merge commits\n\n* expecting success: \n\tbad_cherries=$(git rev-list --parents --all --grep=Cherry |\n\t\tgrep \" .* \" | cut -f1 -d\" \")\n\t[ -z \"$bad_cherries\" ]\n\t\n*   ok 3: cherry picks did not become git merge commits\n\n* expecting success: \n\tbad_non_merges=$(git rev-list --parents --all --grep=non-merge |\n\t\tgrep \" .* \" | cut -f1 -d\" \")\n\t[ -z \"$bad_non_merges\" ]\n\t\n*   ok 4: svn non-merge merge commits did not become git merge commits\n\n* expecting success: \n\tbefore_commit=$(git rev-list --all --grep=\"trunk commit before merging trunk to b2\")\n\tmerge_commit=$(git rev-list --all --grep=\"Merge trunk to b2\")\n\tnot_reachable=$(git rev-list -1 $before_commit --not $merge_commit)\n\t[ -z \"$not_reachable\" ]\n\t\n* FAIL 5: commit made to merged branch is reachable from the merge\n\t\n\t\tbefore_commit=$(git rev-list --all --grep=\"trunk commit before merging trunk to b2\")\n\t\tmerge_commit=$(git rev-list --all --grep=\"Merge trunk to b2\")\n\t\tnot_reachable=$(git rev-list -1 $before_commit --not $merge_commit)\n\t\t[ -z \"$not_reachable\" ]\n\t\t\nmake: *** [t9151-svn-mergeinfo.sh] Error 1\n\n-- \nEric Wong\n"},{"id":"141928","messageId":"AANLkTinGV0UpqcXghlxmEqsjds2Up8fZkZ7AQArPr0N2@mail.gmail.com","threadId":"23542","inReplyTo":"20100504231640.GA5075@dcvr.yhbt.net","subject":"Re: [PATCH/RFC 2/2] git-svn: Don't allow missing commit parent to stop git-svn","fromName":"Michael Olson","fromEmail":"mwolson@gnu.org","sentAt":"2010-05-19T21:17:52Z","receivedAt":"2010-05-19T21:17:52Z","isPatch":true,"sender":{"key":"mwolson@gnu.org","avatar":"https://avatars.githubusercontent.com/u/1510193?v=4"},"body":"On Tue, May 4, 2010 at 4:16 PM, Eric Wong <normalperson@yhbt.net> wrote:\n> I'm using SVN 1.5.1 and getting the following error from\n> t9151-svn-mergeinfo.sh (GIT_TEST_OPTS='-i -v'):\n>\n> (I haven't had many chances to look into this)\n>\n> *** t9151-svn-mergeinfo.sh ***\n> Initialized empty Git repository in /home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/.git/\n> * expecting success:\n>        svnadmin load -q '/home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo'        < '/home/ew/git-core/t/t9151/svn-mergeinfo.dump' &&\n>        git svn init --minimize-url -R svnmerge           --rewrite-root=http://svn.example.org           -T trunk -b branches 'file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo' &&\n>        git svn fetch --all\n>\n> r1 = 7ed7a8721885457b4b334110ca70ed04c4f8166a (refs/remotes/trunk)\n>        A       Makefile\n> r2 = 2d5fcce57cec73616f628fbaed5a49ef3d0e42de (refs/remotes/trunk)\n> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/left, 1\n> Found branch parent: (refs/remotes/left) 7ed7a8721885457b4b334110ca70ed04c4f8166a\n> Following parent with do_switch\n>        A       Makefile\n> Successfully followed parent\n> r3 = f9ab6c8a604f40729e9b681bb3a1e867f9fa3ae8 (refs/remotes/left)\n> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/right, 1\n> Found branch parent: (refs/remotes/right) 7ed7a8721885457b4b334110ca70ed04c4f8166a\n> Following parent with do_switch\n>        A       Makefile\n> Successfully followed parent\n> r4 = ddaeba46f3443446ad10c8e9f9708015508a3b28 (refs/remotes/right)\n>        M       Makefile\n> r5 = aec3f7b969e8f39a07d95041e1a0fa1084a62636 (refs/remotes/left)\n>        M       Makefile\n> r6 = 4e8f83f1ab23aef5373017e90af34f1819af8cab (refs/remotes/right)\n>        M       Makefile\n> r7 = 6bc3353f7fcec0c37010a59b688fa9d2584a744d (refs/remotes/left)\n>        M       Makefile\n> r8 = 3126dfd1119e03e412157f726d08c90a3fd4d7d4 (refs/remotes/left)\n> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/left => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/left-sub, 3\n> Found branch parent: (refs/remotes/left-sub) f9ab6c8a604f40729e9b681bb3a1e867f9fa3ae8\n> Following parent with do_switch\n>        M       Makefile\n> Successfully followed parent\n> r9 = 577c6d95762177126ca3068518ff8b75fcf0c25e (refs/remotes/left-sub)\n>        A       README\n> r10 = 0f51792c59119f80d15583143eecc11a609f7f4b (refs/remotes/left-sub)\n>        M       Makefile\n> Found merge parent (svn:mergeinfo prop): 3126dfd1119e03e412157f726d08c90a3fd4d7d4\n> r11 = 684711c1a28ba8ad47b8dbcc1fae523e6d7513a6 (refs/remotes/trunk)\n>        A       zlonk\n> r12 = 48e21141201f46c911875b76b5656d8baac09a66 (refs/remotes/left)\n>        A       bang\n> r13 = 2d65500a924079bcf2a63be861289fc72bc3e87f (refs/remotes/right)\n>        A       bang\n>        M       Makefile\n> W:svn cherry-pick ignored (/branches/right:6-13) - missing 1 commit(s) (eg ddaeba46f3443446ad10c8e9f9708015508a3b28)\n> r14 = 963722fb11bb2d08a6acd03123060441585c7d97 (refs/remotes/trunk)\n> Found merge parent (svn:mergeinfo prop): 2d65500a924079bcf2a63be861289fc72bc3e87f\n> r15 = 7a0288891e49f8f764fafb9c51e0da446284f6e3 (refs/remotes/trunk)\n>        A       urkkk\n> r16 = acd76c6201c8a7f1ba7539daebe82128902deb28 (refs/remotes/right)\n>        A       vronk\n> r17 = 3d987e350cb0b84c1a962f28322075148a4769f9 (refs/remotes/trunk)\n>        A       bang\n>        A       urkkk\n>        M       Makefile\n> Found merge parent (svn:mergeinfo prop): acd76c6201c8a7f1ba7539daebe82128902deb28\n> r18 = 33a71c4853e3bc75096416afb6b6a3f84317e11f (refs/remotes/left-sub)\n>        A       wham_eth\n> r19 = c18b93e7676efb39156e30479f389f162e075937 (refs/remotes/left-sub)\n>        A       glurpp\n> r20 = d3a5e11772cce14223736862eaae254c6361de52 (refs/remotes/left)\n>        A       wham_eth\n> W:svn cherry-pick ignored (/branches/left-sub:19) - missing 6 commit(s) (eg 0f51792c59119f80d15583143eecc11a609f7f4b)\n> r21 = 26f066648b9fbb8d41953f51720855ea7b504643 (refs/remotes/left)\n>        A       bang\n>        A       urkkk\n>        M       Makefile\n>        A       README\n> Found merge parent (svn:mergeinfo prop): c18b93e7676efb39156e30479f389f162e075937\n> r22 = 873f392f3b5b995738db38ddb497e4133a1eabd6 (refs/remotes/left)\n>        A       urkkk\n>        A       glurpp\n>        A       wham_eth\n>        A       README\n>        A       zlonk\n> Found merge parent (svn:mergeinfo prop): 873f392f3b5b995738db38ddb497e4133a1eabd6\n> r23 = 10f41d438deef69896cd202a8dba696fccb1fc16 (refs/remotes/trunk)\n> r24 = 8d72d496d3fd4fe5f56c4a458bb6b6bce8074ac3 (refs/remotes/trunk)\n> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/b1, 24\n> Found branch parent: (refs/remotes/b1) 8d72d496d3fd4fe5f56c4a458bb6b6bce8074ac3\n> Following parent with do_switch\n> Successfully followed parent\n> r25 = 9583bc1ca96e396c2e8a6afbe0d7677c952e76f9 (refs/remotes/b1)\n> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/b2, 25\n> Found branch parent: (refs/remotes/b2) 8d72d496d3fd4fe5f56c4a458bb6b6bce8074ac3\n> Following parent with do_switch\n> Successfully followed parent\n> r26 = b956cd3ea8808cb0732e51412dec60ce5d4c66de (refs/remotes/b2)\n>        A       b2file\n> r27 = 689fa6c27d1d57acd4f5e2ed3b78bfd3818cfa48 (refs/remotes/b2)\n>        A       b1file\n> r28 = c65e9d2dd0f29cc8756c66041aafca5ae7b40c87 (refs/remotes/b1)\n>        A       b1file\n> Found merge parent (svn:mergeinfo prop): c65e9d2dd0f29cc8756c66041aafca5ae7b40c87\n> r29 = 8a70eced3c8b9eb56742bb2b8182d3363ef65c9c (refs/remotes/trunk)\n>        A       trunkfile\n> r30 = 94dd10334175598f49a097035fcfba8563928048 (refs/remotes/trunk)\n>        A       b1file\n>        A       trunkfile\n> Found merge parent (svn:mergeinfo prop): c65e9d2dd0f29cc8756c66041aafca5ae7b40c87\n> W:svn cherry-pick ignored (/trunk:26-30) - missing 1 commit(s) (eg c65e9d2dd0f29cc8756c66041aafca5ae7b40c87)\n> r31 = 49faca9dc648191ba6b07f6b65f3373cc5a181e6 (refs/remotes/b2)\n>        A       b2file\n> Found merge parent (svn:mergeinfo prop): 49faca9dc648191ba6b07f6b65f3373cc5a181e6\n> r32 = 9e1737778e06d26dc2fb72c05db08520d6cd20af (refs/remotes/trunk)\n> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/f1, 32\n> Found branch parent: (refs/remotes/f1) 9e1737778e06d26dc2fb72c05db08520d6cd20af\n> Following parent with do_switch\n>        A       f1file\n> Successfully followed parent\n> r33 = 72393572fd4bb0d02ef034f768738c9b1360ad86 (refs/remotes/f1)\n> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/f2, 33\n> Found branch parent: (refs/remotes/f2) 9e1737778e06d26dc2fb72c05db08520d6cd20af\n> Following parent with do_switch\n>        A       f2file\n> Successfully followed parent\n> r34 = 600530ec4ff61c1bb60f7e9a1319390b9696ea89 (refs/remotes/f2)\n>        A       f1file\n>        A       f2file\n> Found merge parent (svn:mergeinfo prop): 72393572fd4bb0d02ef034f768738c9b1360ad86\n> Found merge parent (svn:mergeinfo prop): 600530ec4ff61c1bb60f7e9a1319390b9696ea89\n> r35 = 794650a0042fc4b45352798bd3d766ec71936859 (refs/remotes/trunk)\n>        A       subdir/cowboy\n> r36 = 71b29806ce50e7abcebc021bddd47ea9925b62d1 (refs/remotes/left)\n>        A       subdir/cowboy\n> Found merge parent (svn:mergeinfo prop): 71b29806ce50e7abcebc021bddd47ea9925b62d1\n> r37 = 595aa4a85d3687795a49eed9fd2774609e0bc0eb (refs/remotes/trunk)\n> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk/subdir => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/partial, 37\n> Initializing parent: refs/remotes/partial@37\n> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/left/subdir => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk/subdir, 36\n> Initializing parent: refs/remotes/partial@36\n>        A       cowboy\n> r36 = 36ab2d3b9d077028fa3d659325ac8ca081e348bc (refs/remotes/partial@36)\n> Found branch parent: (refs/remotes/partial@37) 36ab2d3b9d077028fa3d659325ac8ca081e348bc\n> Following parent with do_switch\n> Successfully followed parent\n> r37 = 94ef88aa1ebfb64b5525f3aed8dd36d7ec63cecc (refs/remotes/partial@37)\n> Found branch parent: (refs/remotes/partial) 94ef88aa1ebfb64b5525f3aed8dd36d7ec63cecc\n> Following parent with do_switch\n> Successfully followed parent\n> r38 = 910f886650e45984540884fbce419222d5dbe772 (refs/remotes/partial)\n>        A       palindromes\n> r39 = fdb537791ee8ba532e49c3d5a34a30feeb87bd59 (refs/remotes/partial)\n>        A       subdir/palindromes\n> Couldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/b1/subdir\n> Couldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/b2/subdir\n> Couldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/f1/subdir\n> Couldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/f2/subdir\n> Couldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/left/subdir\n> Couldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/left-sub/subdir\n> Couldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/right/subdir\n> W: Cannot find common ancestor between 595aa4a85d3687795a49eed9fd2774609e0bc0eb and fdb537791ee8ba532e49c3d5a34a30feeb87bd59. Ignoring merge info.\n> r40 = 5805f49f999decd809f915d18f383d07d1626d5b (refs/remotes/trunk)\n> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/tags/v1.0 => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/bugfix, 41\n> Initializing parent: refs/remotes/bugfix@41\n> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/tags/v1.0, 40\n> Found branch parent: (refs/remotes/bugfix@41) 5805f49f999decd809f915d18f383d07d1626d5b\n> Following parent with do_switch\n> Successfully followed parent\n> r41 = 4b3d91b566f045ddd4c362a1767cb925b66081e4 (refs/remotes/bugfix@41)\n> Found branch parent: (refs/remotes/bugfix) 4b3d91b566f045ddd4c362a1767cb925b66081e4\n> Following parent with do_switch\n> Successfully followed parent\n> r42 = 472a447664d739c39bcf87d5ad3a96212508ba39 (refs/remotes/bugfix)\n>        M       subdir/palindromes\n> r43 = f6db7ed2ea491ff68fc056942fa988c29a384e47 (refs/remotes/bugfix)\n>        M       subdir/palindromes\n> Couldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/bugfix/subdir\n> Couldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/tags/v1.0/subdir\n> W: Cannot find common ancestor between 5805f49f999decd809f915d18f383d07d1626d5b and fdb537791ee8ba532e49c3d5a34a30feeb87bd59. Ignoring merge info.\n> Couldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/tags/v1.0\n> Found merge parent (svn:mergeinfo prop): f6db7ed2ea491ff68fc056942fa988c29a384e47\n> r44 = 16ad9cdbb78d7f1daf1b223d9afc0d9459692ded (refs/remotes/trunk)\n> Checked out HEAD:\n>  file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk r44\n> *   ok 1: load svn dump\n>\n> * expecting success:\n>        unmarked=$(git rev-list --parents --all --grep=Merge |\n>                grep -v \" .* \" | cut -f1 -d\" \")\n>        [ -z \"$unmarked\" ]\n>\n> *   ok 2: all svn merges became git merge commits\n>\n> * expecting success:\n>        bad_cherries=$(git rev-list --parents --all --grep=Cherry |\n>                grep \" .* \" | cut -f1 -d\" \")\n>        [ -z \"$bad_cherries\" ]\n>\n> *   ok 3: cherry picks did not become git merge commits\n>\n> * expecting success:\n>        bad_non_merges=$(git rev-list --parents --all --grep=non-merge |\n>                grep \" .* \" | cut -f1 -d\" \")\n>        [ -z \"$bad_non_merges\" ]\n>\n> *   ok 4: svn non-merge merge commits did not become git merge commits\n>\n> * expecting success:\n>        before_commit=$(git rev-list --all --grep=\"trunk commit before merging trunk to b2\")\n>        merge_commit=$(git rev-list --all --grep=\"Merge trunk to b2\")\n>        not_reachable=$(git rev-list -1 $before_commit --not $merge_commit)\n>        [ -z \"$not_reachable\" ]\n>\n> * FAIL 5: commit made to merged branch is reachable from the merge\n>\n>                before_commit=$(git rev-list --all --grep=\"trunk commit before merging trunk to b2\")\n>                merge_commit=$(git rev-list --all --grep=\"Merge trunk to b2\")\n>                not_reachable=$(git rev-list -1 $before_commit --not $merge_commit)\n>                [ -z \"$not_reachable\" ]\n>\n> make: *** [t9151-svn-mergeinfo.sh] Error 1\n>\n> --\n> Eric Wong\n>\n\nI tried looking at it, but the situation is kind of odd.  Neither\n$before_commit nor $merge_commit appears in each others' git log\noutput, so it would seem that the test ought to pass.  The rev-list\ncommand returns the revision ID of $before_commit, which causes the\ntest to fail.\n\n-- \nMichael Olson  |  http://mwolson.org/\n"},{"id":"141929","messageId":"AANLkTikbPaqM6ZacuRzCV0hi2LuWbPxFkwkTk_CUi5x7@mail.gmail.com","threadId":"23542","inReplyTo":"AANLkTinGV0UpqcXghlxmEqsjds2Up8fZkZ7AQArPr0N2@mail.gmail.com","subject":"Re: [PATCH/RFC 2/2] git-svn: Don't allow missing commit parent to stop git-svn","fromName":"Michael Olson","fromEmail":"mwolson@gnu.org","sentAt":"2010-05-19T21:19:31Z","receivedAt":"2010-05-19T21:19:31Z","isPatch":true,"sender":{"key":"mwolson@gnu.org","avatar":"https://avatars.githubusercontent.com/u/1510193?v=4"},"body":"On Wed, May 19, 2010 at 2:17 PM, Michael Olson <mwolson@gnu.org> wrote:\n> On Tue, May 4, 2010 at 4:16 PM, Eric Wong <normalperson@yhbt.net> wrote:\n>> I'm using SVN 1.5.1 and getting the following error from\n>> t9151-svn-mergeinfo.sh (GIT_TEST_OPTS='-i -v'):\n>>\n>> (I haven't had many chances to look into this)\n>>\n>> *** t9151-svn-mergeinfo.sh ***\n>> Initialized empty Git repository in /home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/.git/\n>> * expecting success:\n>>        svnadmin load -q '/home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo'        < '/home/ew/git-core/t/t9151/svn-mergeinfo.dump' &&\n>>        git svn init --minimize-url -R svnmerge           --rewrite-root=http://svn.example.org           -T trunk -b branches 'file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo' &&\n>>        git svn fetch --all\n>>\n>> r1 = 7ed7a8721885457b4b334110ca70ed04c4f8166a (refs/remotes/trunk)\n>>        A       Makefile\n>> r2 = 2d5fcce57cec73616f628fbaed5a49ef3d0e42de (refs/remotes/trunk)\n>> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/left, 1\n>> Found branch parent: (refs/remotes/left) 7ed7a8721885457b4b334110ca70ed04c4f8166a\n>> Following parent with do_switch\n>>        A       Makefile\n>> Successfully followed parent\n>> r3 = f9ab6c8a604f40729e9b681bb3a1e867f9fa3ae8 (refs/remotes/left)\n>> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/right, 1\n>> Found branch parent: (refs/remotes/right) 7ed7a8721885457b4b334110ca70ed04c4f8166a\n>> Following parent with do_switch\n>>        A       Makefile\n>> Successfully followed parent\n>> r4 = ddaeba46f3443446ad10c8e9f9708015508a3b28 (refs/remotes/right)\n>>        M       Makefile\n>> r5 = aec3f7b969e8f39a07d95041e1a0fa1084a62636 (refs/remotes/left)\n>>        M       Makefile\n>> r6 = 4e8f83f1ab23aef5373017e90af34f1819af8cab (refs/remotes/right)\n>>        M       Makefile\n>> r7 = 6bc3353f7fcec0c37010a59b688fa9d2584a744d (refs/remotes/left)\n>>        M       Makefile\n>> r8 = 3126dfd1119e03e412157f726d08c90a3fd4d7d4 (refs/remotes/left)\n>> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/left => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/left-sub, 3\n>> Found branch parent: (refs/remotes/left-sub) f9ab6c8a604f40729e9b681bb3a1e867f9fa3ae8\n>> Following parent with do_switch\n>>        M       Makefile\n>> Successfully followed parent\n>> r9 = 577c6d95762177126ca3068518ff8b75fcf0c25e (refs/remotes/left-sub)\n>>        A       README\n>> r10 = 0f51792c59119f80d15583143eecc11a609f7f4b (refs/remotes/left-sub)\n>>        M       Makefile\n>> Found merge parent (svn:mergeinfo prop): 3126dfd1119e03e412157f726d08c90a3fd4d7d4\n>> r11 = 684711c1a28ba8ad47b8dbcc1fae523e6d7513a6 (refs/remotes/trunk)\n>>        A       zlonk\n>> r12 = 48e21141201f46c911875b76b5656d8baac09a66 (refs/remotes/left)\n>>        A       bang\n>> r13 = 2d65500a924079bcf2a63be861289fc72bc3e87f (refs/remotes/right)\n>>        A       bang\n>>        M       Makefile\n>> W:svn cherry-pick ignored (/branches/right:6-13) - missing 1 commit(s) (eg ddaeba46f3443446ad10c8e9f9708015508a3b28)\n>> r14 = 963722fb11bb2d08a6acd03123060441585c7d97 (refs/remotes/trunk)\n>> Found merge parent (svn:mergeinfo prop): 2d65500a924079bcf2a63be861289fc72bc3e87f\n>> r15 = 7a0288891e49f8f764fafb9c51e0da446284f6e3 (refs/remotes/trunk)\n>>        A       urkkk\n>> r16 = acd76c6201c8a7f1ba7539daebe82128902deb28 (refs/remotes/right)\n>>        A       vronk\n>> r17 = 3d987e350cb0b84c1a962f28322075148a4769f9 (refs/remotes/trunk)\n>>        A       bang\n>>        A       urkkk\n>>        M       Makefile\n>> Found merge parent (svn:mergeinfo prop): acd76c6201c8a7f1ba7539daebe82128902deb28\n>> r18 = 33a71c4853e3bc75096416afb6b6a3f84317e11f (refs/remotes/left-sub)\n>>        A       wham_eth\n>> r19 = c18b93e7676efb39156e30479f389f162e075937 (refs/remotes/left-sub)\n>>        A       glurpp\n>> r20 = d3a5e11772cce14223736862eaae254c6361de52 (refs/remotes/left)\n>>        A       wham_eth\n>> W:svn cherry-pick ignored (/branches/left-sub:19) - missing 6 commit(s) (eg 0f51792c59119f80d15583143eecc11a609f7f4b)\n>> r21 = 26f066648b9fbb8d41953f51720855ea7b504643 (refs/remotes/left)\n>>        A       bang\n>>        A       urkkk\n>>        M       Makefile\n>>        A       README\n>> Found merge parent (svn:mergeinfo prop): c18b93e7676efb39156e30479f389f162e075937\n>> r22 = 873f392f3b5b995738db38ddb497e4133a1eabd6 (refs/remotes/left)\n>>        A       urkkk\n>>        A       glurpp\n>>        A       wham_eth\n>>        A       README\n>>        A       zlonk\n>> Found merge parent (svn:mergeinfo prop): 873f392f3b5b995738db38ddb497e4133a1eabd6\n>> r23 = 10f41d438deef69896cd202a8dba696fccb1fc16 (refs/remotes/trunk)\n>> r24 = 8d72d496d3fd4fe5f56c4a458bb6b6bce8074ac3 (refs/remotes/trunk)\n>> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/b1, 24\n>> Found branch parent: (refs/remotes/b1) 8d72d496d3fd4fe5f56c4a458bb6b6bce8074ac3\n>> Following parent with do_switch\n>> Successfully followed parent\n>> r25 = 9583bc1ca96e396c2e8a6afbe0d7677c952e76f9 (refs/remotes/b1)\n>> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/b2, 25\n>> Found branch parent: (refs/remotes/b2) 8d72d496d3fd4fe5f56c4a458bb6b6bce8074ac3\n>> Following parent with do_switch\n>> Successfully followed parent\n>> r26 = b956cd3ea8808cb0732e51412dec60ce5d4c66de (refs/remotes/b2)\n>>        A       b2file\n>> r27 = 689fa6c27d1d57acd4f5e2ed3b78bfd3818cfa48 (refs/remotes/b2)\n>>        A       b1file\n>> r28 = c65e9d2dd0f29cc8756c66041aafca5ae7b40c87 (refs/remotes/b1)\n>>        A       b1file\n>> Found merge parent (svn:mergeinfo prop): c65e9d2dd0f29cc8756c66041aafca5ae7b40c87\n>> r29 = 8a70eced3c8b9eb56742bb2b8182d3363ef65c9c (refs/remotes/trunk)\n>>        A       trunkfile\n>> r30 = 94dd10334175598f49a097035fcfba8563928048 (refs/remotes/trunk)\n>>        A       b1file\n>>        A       trunkfile\n>> Found merge parent (svn:mergeinfo prop): c65e9d2dd0f29cc8756c66041aafca5ae7b40c87\n>> W:svn cherry-pick ignored (/trunk:26-30) - missing 1 commit(s) (eg c65e9d2dd0f29cc8756c66041aafca5ae7b40c87)\n>> r31 = 49faca9dc648191ba6b07f6b65f3373cc5a181e6 (refs/remotes/b2)\n>>        A       b2file\n>> Found merge parent (svn:mergeinfo prop): 49faca9dc648191ba6b07f6b65f3373cc5a181e6\n>> r32 = 9e1737778e06d26dc2fb72c05db08520d6cd20af (refs/remotes/trunk)\n>> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/f1, 32\n>> Found branch parent: (refs/remotes/f1) 9e1737778e06d26dc2fb72c05db08520d6cd20af\n>> Following parent with do_switch\n>>        A       f1file\n>> Successfully followed parent\n>> r33 = 72393572fd4bb0d02ef034f768738c9b1360ad86 (refs/remotes/f1)\n>> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/f2, 33\n>> Found branch parent: (refs/remotes/f2) 9e1737778e06d26dc2fb72c05db08520d6cd20af\n>> Following parent with do_switch\n>>        A       f2file\n>> Successfully followed parent\n>> r34 = 600530ec4ff61c1bb60f7e9a1319390b9696ea89 (refs/remotes/f2)\n>>        A       f1file\n>>        A       f2file\n>> Found merge parent (svn:mergeinfo prop): 72393572fd4bb0d02ef034f768738c9b1360ad86\n>> Found merge parent (svn:mergeinfo prop): 600530ec4ff61c1bb60f7e9a1319390b9696ea89\n>> r35 = 794650a0042fc4b45352798bd3d766ec71936859 (refs/remotes/trunk)\n>>        A       subdir/cowboy\n>> r36 = 71b29806ce50e7abcebc021bddd47ea9925b62d1 (refs/remotes/left)\n>>        A       subdir/cowboy\n>> Found merge parent (svn:mergeinfo prop): 71b29806ce50e7abcebc021bddd47ea9925b62d1\n>> r37 = 595aa4a85d3687795a49eed9fd2774609e0bc0eb (refs/remotes/trunk)\n>> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk/subdir => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/partial, 37\n>> Initializing parent: refs/remotes/partial@37\n>> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/left/subdir => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk/subdir, 36\n>> Initializing parent: refs/remotes/partial@36\n>>        A       cowboy\n>> r36 = 36ab2d3b9d077028fa3d659325ac8ca081e348bc (refs/remotes/partial@36)\n>> Found branch parent: (refs/remotes/partial@37) 36ab2d3b9d077028fa3d659325ac8ca081e348bc\n>> Following parent with do_switch\n>> Successfully followed parent\n>> r37 = 94ef88aa1ebfb64b5525f3aed8dd36d7ec63cecc (refs/remotes/partial@37)\n>> Found branch parent: (refs/remotes/partial) 94ef88aa1ebfb64b5525f3aed8dd36d7ec63cecc\n>> Following parent with do_switch\n>> Successfully followed parent\n>> r38 = 910f886650e45984540884fbce419222d5dbe772 (refs/remotes/partial)\n>>        A       palindromes\n>> r39 = fdb537791ee8ba532e49c3d5a34a30feeb87bd59 (refs/remotes/partial)\n>>        A       subdir/palindromes\n>> Couldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/b1/subdir\n>> Couldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/b2/subdir\n>> Couldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/f1/subdir\n>> Couldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/f2/subdir\n>> Couldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/left/subdir\n>> Couldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/left-sub/subdir\n>> Couldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/right/subdir\n>> W: Cannot find common ancestor between 595aa4a85d3687795a49eed9fd2774609e0bc0eb and fdb537791ee8ba532e49c3d5a34a30feeb87bd59. Ignoring merge info.\n>> r40 = 5805f49f999decd809f915d18f383d07d1626d5b (refs/remotes/trunk)\n>> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/tags/v1.0 => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/bugfix, 41\n>> Initializing parent: refs/remotes/bugfix@41\n>> Found possible branch point: file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk => file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/tags/v1.0, 40\n>> Found branch parent: (refs/remotes/bugfix@41) 5805f49f999decd809f915d18f383d07d1626d5b\n>> Following parent with do_switch\n>> Successfully followed parent\n>> r41 = 4b3d91b566f045ddd4c362a1767cb925b66081e4 (refs/remotes/bugfix@41)\n>> Found branch parent: (refs/remotes/bugfix) 4b3d91b566f045ddd4c362a1767cb925b66081e4\n>> Following parent with do_switch\n>> Successfully followed parent\n>> r42 = 472a447664d739c39bcf87d5ad3a96212508ba39 (refs/remotes/bugfix)\n>>        M       subdir/palindromes\n>> r43 = f6db7ed2ea491ff68fc056942fa988c29a384e47 (refs/remotes/bugfix)\n>>        M       subdir/palindromes\n>> Couldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/branches/bugfix/subdir\n>> Couldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/tags/v1.0/subdir\n>> W: Cannot find common ancestor between 5805f49f999decd809f915d18f383d07d1626d5b and fdb537791ee8ba532e49c3d5a34a30feeb87bd59. Ignoring merge info.\n>> Couldn't find revmap for file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/tags/v1.0\n>> Found merge parent (svn:mergeinfo prop): f6db7ed2ea491ff68fc056942fa988c29a384e47\n>> r44 = 16ad9cdbb78d7f1daf1b223d9afc0d9459692ded (refs/remotes/trunk)\n>> Checked out HEAD:\n>>  file:///home/ew/git-core/t/trash directory.t9151-svn-mergeinfo/svnrepo/trunk r44\n>> *   ok 1: load svn dump\n>>\n>> * expecting success:\n>>        unmarked=$(git rev-list --parents --all --grep=Merge |\n>>                grep -v \" .* \" | cut -f1 -d\" \")\n>>        [ -z \"$unmarked\" ]\n>>\n>> *   ok 2: all svn merges became git merge commits\n>>\n>> * expecting success:\n>>        bad_cherries=$(git rev-list --parents --all --grep=Cherry |\n>>                grep \" .* \" | cut -f1 -d\" \")\n>>        [ -z \"$bad_cherries\" ]\n>>\n>> *   ok 3: cherry picks did not become git merge commits\n>>\n>> * expecting success:\n>>        bad_non_merges=$(git rev-list --parents --all --grep=non-merge |\n>>                grep \" .* \" | cut -f1 -d\" \")\n>>        [ -z \"$bad_non_merges\" ]\n>>\n>> *   ok 4: svn non-merge merge commits did not become git merge commits\n>>\n>> * expecting success:\n>>        before_commit=$(git rev-list --all --grep=\"trunk commit before merging trunk to b2\")\n>>        merge_commit=$(git rev-list --all --grep=\"Merge trunk to b2\")\n>>        not_reachable=$(git rev-list -1 $before_commit --not $merge_commit)\n>>        [ -z \"$not_reachable\" ]\n>>\n>> * FAIL 5: commit made to merged branch is reachable from the merge\n>>\n>>                before_commit=$(git rev-list --all --grep=\"trunk commit before merging trunk to b2\")\n>>                merge_commit=$(git rev-list --all --grep=\"Merge trunk to b2\")\n>>                not_reachable=$(git rev-list -1 $before_commit --not $merge_commit)\n>>                [ -z \"$not_reachable\" ]\n>>\n>> make: *** [t9151-svn-mergeinfo.sh] Error 1\n>>\n>> --\n>> Eric Wong\n>>\n>\n> I tried looking at it, but the situation is kind of odd.  Neither\n> $before_commit nor $merge_commit appears in each others' git log\n> output, so it would seem that the test ought to pass.  The rev-list\n> command returns the revision ID of $before_commit, which causes the\n> test to fail.\n\nNever mind, I misread the description of the test, so it makes a\nlittle more sense now.\n\n-- \nMichael Olson  |  http://mwolson.org/\n"}]}