summaryrefslogtreecommitdiff
path: root/git-archimport.perl
diff options
context:
space:
mode:
authorMartin Langhoff <martin@catalyst.net.nz>2005-09-30 07:15:12 (GMT)
committerJunio C Hamano <junkio@cox.net>2005-10-02 06:14:48 (GMT)
commit37f15d50c93398eac90370cfe07315905501bdad (patch)
tree3ca0673be823fbda9c1fc731cb0d9bf08fddc6aa /git-archimport.perl
parent38ec15a973a1f075f0d94d130b0ef279562921cd (diff)
downloadgit-37f15d50c93398eac90370cfe07315905501bdad.zip
git-37f15d50c93398eac90370cfe07315905501bdad.tar.gz
git-37f15d50c93398eac90370cfe07315905501bdad.tar.bz2
[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>
Diffstat (limited to 'git-archimport.perl')
-rwxr-xr-xgit-archimport.perl8
1 files changed, 7 insertions, 1 deletions
diff --git a/git-archimport.perl b/git-archimport.perl
index 3749b8b..980e827 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;