git svn: fix --revision when fetching deleted paths

When using the -r/--revision argument to fetch deleted history,
calling SVN::Ra::get_log() from an SVN::Ra object initialized
to track the deleted URL will fail.

This regression was introduced in:
  commit 4aacaeb3dc
  "fix shallow clone when upstream revision is too new"

We now ignore errors from SVN::Ra::get_log() here because using
--revision will always override the value of $head here if
(and only if) we're tracking deleted directories.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
This commit is contained in:
Eric Wong 2009-12-21 02:06:04 -08:00
Родитель ab0964d951
Коммит 577e9fcad2
1 изменённых файлов: 5 добавлений и 1 удалений

Просмотреть файл

@ -1741,7 +1741,11 @@ sub fetch_all {
my $ra = Git::SVN::Ra->new($url); my $ra = Git::SVN::Ra->new($url);
my $uuid = $ra->get_uuid; my $uuid = $ra->get_uuid;
my $head = $ra->get_latest_revnum; my $head = $ra->get_latest_revnum;
$ra->get_log("", $head, 0, 1, 0, 1, sub { $head = $_[1] });
# ignore errors, $head revision may not even exist anymore
eval { $ra->get_log("", $head, 0, 1, 0, 1, sub { $head = $_[1] }) };
warn "W: $@\n" if $@;
my $base = defined $fetch ? $head : 0; my $base = defined $fetch ? $head : 0;
# read the max revs for wildcard expansion (branches/*, tags/*) # read the max revs for wildcard expansion (branches/*, tags/*)