Skip to content

Commit

Permalink
git-svn: avoid respewing similar error messages for missing paths
Browse files Browse the repository at this point in the history
We ignore errors if the path we're tracking did not exist for
a particular revision range, but we still print out warnings
telling the user about that.

As pointed out by Seth Falcon, this amounts to a lot of warnings
that could confuse and worry users.  I'm not entirely comfortable
completely silencing the warnings, but showing one warning per
path that we track should be reasonable.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Eric Wong authored and Junio C Hamano committed Mar 31, 2007
1 parent 46efd2d commit a6a15a9
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions git-svn.perl
Original file line number Diff line number Diff line change
Expand Up @@ -2840,8 +2840,7 @@ package Git::SVN::Ra;
use vars qw/@ISA $config_dir $_log_window_size/;
use strict;
use warnings;
my ($can_do_switch);
my $RA;
my ($can_do_switch, %ignored_err, $RA);

BEGIN {
# enforce temporary pool usage for some simple functions
Expand Down Expand Up @@ -3213,9 +3212,16 @@ sub skip_unknown_revs {
# 175007 - http(s):// (this repo required authorization, too...)
# More codes may be discovered later...
if ($errno == 175007 || $errno == 175002 || $errno == 160013) {
warn "W: Ignoring error from SVN, path probably ",
"does not exist: ($errno): ",
$err->expanded_message,"\n";
my $err_key = $err->expanded_message;
# revision numbers change every time, filter them out
$err_key =~ s/\d+/\0/g;
$err_key = "$errno\0$err_key";
unless ($ignored_err{$err_key}) {
warn "W: Ignoring error from SVN, path probably ",
"does not exist: ($errno): ",
$err->expanded_message,"\n";
$ignored_err{$err_key} = 1;
}
return;
}
die "Error from SVN, ($errno): ", $err->expanded_message,"\n";
Expand Down

0 comments on commit a6a15a9

Please sign in to comment.