{"thread":{"id":"11720","subject":"git-cvsserver will crash for multi-rooted history","startedAt":"2008-01-24T16:24:27Z","lastAt":"2008-01-24T16:24:27Z","messageCount":1,"participants":["Steffen Prohaska"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"66487","messageId":"5E211213-2D07-4C16-99E1-6E8E3309D062@zib.de","threadId":"11720","inReplyTo":null,"subject":"git-cvsserver will crash for multi-rooted history","fromName":"Steffen Prohaska","fromEmail":"prohaska@zib.de","sentAt":"2008-01-24T16:24:27Z","receivedAt":"2008-01-24T16:24:27Z","isPatch":false,"sender":{"key":"prohaska@zib.de","avatar":"https://avatars.githubusercontent.com/u/217580?v=4"},"body":"git-cvsserver in master will crash if the history has multiple\nroots.  The problem is that git-merge-base might fail to find a\nmerge base and this situation is not handled by git-cvsserver.\n\nUnfortunately, I'll not have time to address this immediately;\nbut it is a bug in current master, so I think at least you\nshould now.  Here is the code ...\n\n2540                     # git-merge-base can potentially (but  \nrarely) throw\n2541                     # several candidate merge bases. let's assume\n2542                     # that the first one is the best one.\n2543                     if ($parent eq $lastpicked) {\n2544                         next;\n2545                     }\n2546                     my $base = safe_pipe_capture('git-merge-base',\n2547                                                  $lastpicked,  \n$parent);\n\n... the line above will fail.\n\n2548                     chomp $base;\n2549                     if ($base) {\n2550                         my @merged;\n2551                         # print \"want to log between  $base  \n$parent \\n\";\n2552                         open(GITLOG, '-|', 'git-log', \"$base.. \n$parent\")\n\n\n\tSteffen\n"}]}