зеркало из https://github.com/microsoft/git.git
git-svn: don't consider SVN URL usernames significant when comparing
http://foo@blah.com/path is the same as http://blah.com/path, so remove usernames from URLs before storing them in commits, and when reading them from commits. Signed-off-by: Eric Wong <normalperson@yhbt.net>
This commit is contained in:
Родитель
5253dc33b7
Коммит
18ea92bd81
|
@ -1847,6 +1847,8 @@ sub make_log_entry {
|
|||
$full_url =~ s#^\Q$svm->{replace}\E(/|$)#$svm->{source}$1# or
|
||||
die "Failed to replace '$svm->{replace}' with ",
|
||||
"'$svm->{source}' in $full_url\n";
|
||||
# throw away username for storing in records
|
||||
remove_username($full_url);
|
||||
$log_entry{metadata} = "$full_url\@$r $uuid";
|
||||
$log_entry{svm_revision} = $r;
|
||||
$email ||= "$author\@$uuid"
|
||||
|
@ -1915,12 +1917,14 @@ sub rebuild {
|
|||
my ($rev_list, $ctx) = command_output_pipe("rev-list", $self->refname);
|
||||
my $latest;
|
||||
my $full_url = $self->full_url;
|
||||
remove_username($full_url);
|
||||
my $svn_uuid;
|
||||
while (<$rev_list>) {
|
||||
chomp;
|
||||
my $c = $_;
|
||||
die "Non-SHA1: $c\n" unless $c =~ /^$::sha1$/o;
|
||||
my ($url, $rev, $uuid) = ::cmt_metadata($c);
|
||||
remove_username($url);
|
||||
|
||||
# ignore merges (from set-tree)
|
||||
next if (!defined $rev || !$uuid);
|
||||
|
@ -2094,6 +2098,10 @@ sub uri_encode {
|
|||
$f
|
||||
}
|
||||
|
||||
sub remove_username {
|
||||
$_[0] =~ s{^([^:]*://)[^@]+@}{$1};
|
||||
}
|
||||
|
||||
package Git::SVN::Prompt;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
|
Загрузка…
Ссылка в новой задаче