зеркало из https://github.com/microsoft/git.git
git-svn: improve repository URL matching when following parents
This way we can avoid the spawning of a new SVN::Ra session by reusing the existing one. The most problematic issue is that some svn servers disallow too many connections from a single IP, so this will allow git-svn to fetch from those repositories with a higher success rate by using fewer connections. This sometimes showed up as a new (and redundant) [svn-remote "$parent_refname"] entry in $GIT_DIR/svn/.metadata. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
7deaec9ac7
Коммит
c586879cdf
|
@ -2229,7 +2229,12 @@ sub find_parent_branch {
|
|||
# just grow a tail if we're not unique enough :x
|
||||
$ref_id .= '-' while find_ref($ref_id);
|
||||
print STDERR "Initializing parent: $ref_id\n";
|
||||
$gs = Git::SVN->init($new_url, '', $ref_id, $ref_id, 1);
|
||||
my ($u, $p) = ($new_url, '');
|
||||
if ($u =~ s#^\Q$url\E(/|$)##) {
|
||||
$p = $u;
|
||||
$u = $url;
|
||||
}
|
||||
$gs = Git::SVN->init($u, $p, $self->{repo_id}, $ref_id, 1);
|
||||
}
|
||||
my ($r0, $parent) = $gs->find_rev_before($r, 1);
|
||||
if (!defined $r0 || !defined $parent) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче