зеркало из https://github.com/microsoft/git.git
Merge branch 'mg/cvsimport'
* mg/cvsimport: cvsimport: handle the parsing of uppercase config options cvsimport: partial whitespace cleanup
This commit is contained in:
Коммит
0c30ed0cb5
|
@ -90,23 +90,40 @@ sub write_author_info($) {
|
|||
}
|
||||
|
||||
# convert getopts specs for use by git config
|
||||
my %longmap = (
|
||||
'A:' => 'authors-file',
|
||||
'M:' => 'merge-regex',
|
||||
'P:' => undef,
|
||||
'R' => 'track-revisions',
|
||||
'S:' => 'ignore-paths',
|
||||
);
|
||||
|
||||
sub read_repo_config {
|
||||
# Split the string between characters, unless there is a ':'
|
||||
# So "abc:de" becomes ["a", "b", "c:", "d", "e"]
|
||||
# Split the string between characters, unless there is a ':'
|
||||
# So "abc:de" becomes ["a", "b", "c:", "d", "e"]
|
||||
my @opts = split(/ *(?!:)/, shift);
|
||||
foreach my $o (@opts) {
|
||||
my $key = $o;
|
||||
$key =~ s/://g;
|
||||
my $arg = 'git config';
|
||||
$arg .= ' --bool' if ($o !~ /:$/);
|
||||
my $ckey = $key;
|
||||
|
||||
chomp(my $tmp = `$arg --get cvsimport.$key`);
|
||||
if (exists $longmap{$o}) {
|
||||
# An uppercase option like -R cannot be
|
||||
# expressed in the configuration, as the
|
||||
# variable names are downcased.
|
||||
$ckey = $longmap{$o};
|
||||
next if (! defined $ckey);
|
||||
$ckey =~ s/-//g;
|
||||
}
|
||||
chomp(my $tmp = `$arg --get cvsimport.$ckey`);
|
||||
if ($tmp && !($arg =~ /--bool/ && $tmp eq 'false')) {
|
||||
no strict 'refs';
|
||||
my $opt_name = "opt_" . $key;
|
||||
if (!$$opt_name) {
|
||||
$$opt_name = $tmp;
|
||||
}
|
||||
no strict 'refs';
|
||||
my $opt_name = "opt_" . $key;
|
||||
if (!$$opt_name) {
|
||||
$$opt_name = $tmp;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -89,7 +89,8 @@ EOF
|
|||
test_expect_success PERL 'update git module' '
|
||||
|
||||
(cd module-git &&
|
||||
git cvsimport -a -R -z 0 module &&
|
||||
git config cvsimport.trackRevisions true &&
|
||||
git cvsimport -a -z 0 module &&
|
||||
git merge origin
|
||||
) &&
|
||||
test_cmp module-cvs/o_fortuna module-git/o_fortuna
|
||||
|
@ -117,7 +118,8 @@ test_expect_success PERL 'cvsimport.module config works' '
|
|||
|
||||
(cd module-git &&
|
||||
git config cvsimport.module module &&
|
||||
git cvsimport -a -R -z0 &&
|
||||
git config cvsimport.trackRevisions true &&
|
||||
git cvsimport -a -z0 &&
|
||||
git merge origin
|
||||
) &&
|
||||
test_cmp module-cvs/tick module-git/tick
|
||||
|
@ -137,6 +139,7 @@ test_expect_success PERL 'import from a CVS working tree' '
|
|||
|
||||
$CVS co -d import-from-wt module &&
|
||||
(cd import-from-wt &&
|
||||
git config cvsimport.trackRevisions false &&
|
||||
git cvsimport -a -z0 &&
|
||||
echo 1 >expect &&
|
||||
git log -1 --pretty=format:%s%n >actual &&
|
||||
|
|
Загрузка…
Ссылка в новой задаче