git-svn: better error reporting if --follow-parent fails

This will be useful to me when I try more special-cases
of parent-tracking.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
This commit is contained in:
Eric Wong 2007-01-23 13:03:29 -08:00
parent 536c4b0937
commit 9bf046372b

View File

@ -1056,10 +1056,12 @@ sub revisions_eq {
sub find_parent_branch { sub find_parent_branch {
my ($self, $paths, $rev) = @_; my ($self, $paths, $rev) = @_;
return undef unless $::_follow_parent;
# look for a parent from another branch: # look for a parent from another branch:
my $i = $paths->{'/'.$self->rel_path} or return; my $abs_path = '/'.$self->rel_path;
my $branch_from = $i->copyfrom_path or return; my $i = $paths->{$abs_path} or goto not_found;
my $branch_from = $i->copyfrom_path or goto not_found;
my $r = $i->copyfrom_rev; my $r = $i->copyfrom_rev;
my $repos_root = $self->ra->{repos_root}; my $repos_root = $self->ra->{repos_root};
my $url = $self->ra->{url}; my $url = $self->ra->{url};
@ -1118,7 +1120,16 @@ sub find_parent_branch {
} }
return $self->make_log_entry($rev, [$parent], $ed); return $self->make_log_entry($rev, [$parent], $ed);
} }
print STDERR "Branch parent not found...\n"; not_found:
print STDERR "Branch parent for path: '$abs_path' not found\n";
return undef unless $paths;
foreach my $p (sort keys %$paths) {
print STDERR ' ', $p->action, ' ', $p;
if (my $cp_from = $p->copyfrom_path) {
print STDERR "(from $cp_from:", $p->copyfrom_rev, ')';
}
print STDERR "\n";
}
return undef; return undef;
} }