summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 1cef650)
raw | patch | inline | side by side (parent: 1cef650)
author | Andrew Myrick <amyrick@apple.com> | |
Thu, 7 Jan 2010 00:25:22 +0000 (16:25 -0800) | ||
committer | Eric Wong <normalperson@yhbt.net> | |
Sat, 23 Jan 2010 11:23:03 +0000 (03:23 -0800) |
Change git-svn to warn and continue when merge-base fails while processing svn
merge tickets.
merge-base can fail when a partial branch is created and merged back to trunk
in svn, because it cannot find a common ancestor between the partial branch and
trunk.
Signed-off-by: Andrew Myrick <amyrick@apple.com>
Acked-by: Sam Vilain <sam@vilain.net>
Acked-by: Eric Wong <normalperson@yhbt.net>
merge tickets.
merge-base can fail when a partial branch is created and merged back to trunk
in svn, because it cannot find a common ancestor between the partial branch and
trunk.
Signed-off-by: Andrew Myrick <amyrick@apple.com>
Acked-by: Sam Vilain <sam@vilain.net>
Acked-by: Eric Wong <normalperson@yhbt.net>
git-svn.perl | patch | blob | history |
diff --git a/git-svn.perl b/git-svn.perl
index 947184afcfe2d9ac49c9bfc5c0fb0fa3538b83fa..e0773eff4ea3fa297925795e28e9b0dfdd0e35b6 100755 (executable)
--- a/git-svn.perl
+++ b/git-svn.perl
my $ranges = $ranges{$merge_tip};
# check out 'new' tips
- my $merge_base = command_oneline(
- "merge-base",
- @$parents, $merge_tip,
- );
+ my $merge_base;
+ eval {
+ $merge_base = command_oneline(
+ "merge-base",
+ @$parents, $merge_tip,
+ );
+ };
+ if ($@) {
+ die "An error occurred during merge-base"
+ unless $@->isa("Git::Error::Command");
+
+ warn "W: Cannot find common ancestor between ".
+ "@$parents and $merge_tip. Ignoring merge info.\n";
+ next;
+ }
# double check that there are no missing non-merge commits
my (@incomplete) = check_cherry_pick(