diff options
author | Eric Wong <normalperson@yhbt.net> | 2007-01-30 05:34:55 +0300 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2007-02-23 11:57:10 +0300 |
commit | f7c3fc4a269ad4f12cc9d97d70e46ba3d5dfdb79 (patch) | |
tree | 80702c9465fde1cda133db7573a733a466f10039 /git-svn.perl | |
parent | 90c1b15da303fa40457e0a9e5c11a57adbfa1879 (diff) |
git-svn: reinstate the default SVN error handler after using get_log
We don't need our own error handler for other operations. Also
add a message about the successfully do_switch or do_update in
follow-parent for debugging do_switch failures with svn:// and
svn+ssh:// connections.
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Diffstat (limited to 'git-svn.perl')
-rwxr-xr-x | git-svn.perl | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/git-svn.perl b/git-svn.perl index e387504b88..bbdaeea98a 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -1169,6 +1169,7 @@ sub find_parent_branch { 1, $ed) or die "SVN connection failed somewhere...\n"; } + print STDERR "Successfully followed parent\n"; $ed->{new_fetch} = 1; return $self->make_log_entry($rev, [$parent], $ed); } @@ -2295,9 +2296,6 @@ sub gs_fetch_loop_common { my ($self, $base, $head, @gs) = @_; my $inc = 1000; my ($min, $max) = ($base, $head < $base + $inc ? $head : $base + $inc); - my $err_handler = $SVN::Error::handler; - my $err; - $SVN::Error::handler = sub { ($err) = @_; skip_unknown_revs($err); }; my @paths = @gs == 1 ? ($gs[0]->{path}) : (''); foreach my $gs (@gs) { if (my $last_commit = $gs->last_commit) { @@ -2307,8 +2305,16 @@ sub gs_fetch_loop_common { } while (1) { my @revs; + my $err; + my $err_handler = $SVN::Error::handler; + $SVN::Error::handler = sub { + ($err) = @_; + skip_unknown_revs($err); + }; $self->get_log(\@paths, $min, $max, 0, 1, 1, sub { push @revs, [ dup_changed_paths($_[0]), $_[1] ]; }); + $SVN::Error::handler = $err_handler; + if (! @revs && $err && $max >= $head) { print STDERR "Branch probably deleted:\n ", $err->expanded_message, @@ -2335,7 +2341,6 @@ sub gs_fetch_loop_common { $max += $inc; $max = $head if ($max > $head); } - $SVN::Error::handler = $err_handler; } sub minimize_url { |