summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Martin Langhoff <martin@catalyst.net.nz>2005-09-30 19:15:12 +1200
committerLibravatar Junio C Hamano <junkio@cox.net>2005-10-01 23:14:48 -0700
commit37f15d50c93398eac90370cfe07315905501bdad (patch)
tree3ca0673be823fbda9c1fc731cb0d9bf08fddc6aa
parentHonor extractor's umask in git-tar-tree. (diff)
downloadtgif-37f15d50c93398eac90370cfe07315905501bdad.tar.xz
[PATCH] archimport: Actually cope with merges from "remote" repositories. Plus: Nicer messages.
archimport was refusing to import commits that had merges from repositories that it didn't know about. Fixed. Also brings in nicer messages. Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
-rwxr-xr-xgit-archimport.perl8
1 files changed, 7 insertions, 1 deletions
diff --git a/git-archimport.perl b/git-archimport.perl
index 3749b8b572..980e827b27 100755
--- a/git-archimport.perl
+++ b/git-archimport.perl
@@ -228,10 +228,12 @@ foreach my $ps (@psets) {
# skip commits already in repo
#
if (ptag($ps->{id})) {
- $opt_v && print "Skipping already imported: $ps->{id}\n";
+ $opt_v && print " * Skipping already imported: $ps->{id}\n";
next;
}
+ print " * Starting to work on $ps->{id}\n";
+
#
# create the branch if needed
#
@@ -675,6 +677,10 @@ sub find_parents {
# that branch.
#
foreach my $branch (keys %branches) {
+
+ # check that we actually know about the branch
+ 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 $?;
chomp $mergebase;