archimport: don't die on merge-base failure
authorEric Wong <normalperson@yhbt.net>
Sat, 12 Nov 2005 09:27:21 +0000 (01:27 -0800)
committerMartin Langhoff <martin@catalyst.net.nz>
Thu, 17 Nov 2005 07:29:35 +0000 (20:29 +1300)
Don't die if we can't find a merge base, Arch allows arbitrary
cherry-picks between unrelated branches and we should not
die when that happens

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
git-archimport.perl

index b7c1fbf..d8e6f4e 100755 (executable)
@@ -692,7 +692,13 @@ sub find_parents {
        next unless -e "$git_dir/refs/heads/$branch";
 
        my $mergebase = `git-merge-base $branch $ps->{branch}`;
-       die "Cannot find merge base for $branch and $ps->{branch}" if $?;
+       if ($?) { 
+           # Don't die here, Arch supports one-way cherry-picking
+           # between branches with no common base (or any relationship
+           # at all beforehand)
+           warn "Cannot find merge base for $branch and $ps->{branch}";
+           next;
+       }
        chomp $mergebase;
 
        # now walk up to the mergepoint collecting what patches we have