git-cvsexportcommit can't handle merge commits correctly
PATCH RESEND 1/1 git-cvsexportcommit can't handle merge commits correctly
git-cvsexportcommit should check if the parent (supplied on the cmdline) to use for a merge commit is one of the real parents of the merge.
But it errors out if the _first_ parent doesn't match and never checks the other parents.
Signed-off-by Peter Baumann <[email protected]>
---
This is a resend with an improved description, because my first attempt didn't generate enough attention :-)
git-cvsexportcommit.perl | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
git-cvsexportcommit.perl +2 -2
@@ -63,15 +63,15 @@ foreach my $p (@commit) { } if ($parent) { + my $found; # double check that it's a valid parent foreach my $p (@parents) { - my $found; if ($p eq $parent) { $found = 1; last; }; # found it - die "Did not find $parent in the parents for this commit!"; } + die "Did not find $parent in the parents for this commit!" if !$found; } else { # we don't have a parent from the cmdline... if (@parents == 1) { # it's safe to get it from the commit $parent = $parents[0];
Signature · 1 line
1.4.0
Quoted 6 lines · Peter Baumann
git-cvsexportcommit should check if the parent (supplied on the cmdline) to use for a merge commit is one of the real parents of the merge.
But it errors out if the _first_ parent doesn't match and never checks the other parents.
Ack. Thanks for spotting this!
m
Signature · 6 lines
-----------------------------------------------------------------------
Martin @ Catalyst .Net .NZ Ltd, PO Box 11-053, Manners St, Wellington
WEB: http://catalyst.net.nz/ PHYS: Level 2, 150-154 Willis St
OFFICE: +64(4)916-7224 MOB: +64(21)364-017
Make things as simple as possible, but no simpler - Einstein
-----------------------------------------------------------------------