Merge branch 'mg/cvsimport'
* mg/cvsimport: cvsimport: handle the parsing of uppercase config options cvsimport: partial whitespace cleanup
This commit is contained in:
commit
0c30ed0cb5
@ -90,23 +90,40 @@ sub write_author_info($) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# convert getopts specs for use by git config
|
# 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 {
|
sub read_repo_config {
|
||||||
# Split the string between characters, unless there is a ':'
|
# Split the string between characters, unless there is a ':'
|
||||||
# So "abc:de" becomes ["a", "b", "c:", "d", "e"]
|
# So "abc:de" becomes ["a", "b", "c:", "d", "e"]
|
||||||
my @opts = split(/ *(?!:)/, shift);
|
my @opts = split(/ *(?!:)/, shift);
|
||||||
foreach my $o (@opts) {
|
foreach my $o (@opts) {
|
||||||
my $key = $o;
|
my $key = $o;
|
||||||
$key =~ s/://g;
|
$key =~ s/://g;
|
||||||
my $arg = 'git config';
|
my $arg = 'git config';
|
||||||
$arg .= ' --bool' if ($o !~ /:$/);
|
$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')) {
|
if ($tmp && !($arg =~ /--bool/ && $tmp eq 'false')) {
|
||||||
no strict 'refs';
|
no strict 'refs';
|
||||||
my $opt_name = "opt_" . $key;
|
my $opt_name = "opt_" . $key;
|
||||||
if (!$$opt_name) {
|
if (!$$opt_name) {
|
||||||
$$opt_name = $tmp;
|
$$opt_name = $tmp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -89,7 +89,8 @@ EOF
|
|||||||
test_expect_success PERL 'update git module' '
|
test_expect_success PERL 'update git module' '
|
||||||
|
|
||||||
(cd module-git &&
|
(cd module-git &&
|
||||||
git cvsimport -a -R -z 0 module &&
|
git config cvsimport.trackRevisions true &&
|
||||||
|
git cvsimport -a -z 0 module &&
|
||||||
git merge origin
|
git merge origin
|
||||||
) &&
|
) &&
|
||||||
test_cmp module-cvs/o_fortuna module-git/o_fortuna
|
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 &&
|
(cd module-git &&
|
||||||
git config cvsimport.module module &&
|
git config cvsimport.module module &&
|
||||||
git cvsimport -a -R -z0 &&
|
git config cvsimport.trackRevisions true &&
|
||||||
|
git cvsimport -a -z0 &&
|
||||||
git merge origin
|
git merge origin
|
||||||
) &&
|
) &&
|
||||||
test_cmp module-cvs/tick module-git/tick
|
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 &&
|
$CVS co -d import-from-wt module &&
|
||||||
(cd import-from-wt &&
|
(cd import-from-wt &&
|
||||||
|
git config cvsimport.trackRevisions false &&
|
||||||
git cvsimport -a -z0 &&
|
git cvsimport -a -z0 &&
|
||||||
echo 1 >expect &&
|
echo 1 >expect &&
|
||||||
git log -1 --pretty=format:%s%n >actual &&
|
git log -1 --pretty=format:%s%n >actual &&
|
||||||
|
Loading…
Reference in New Issue
Block a user