Merge branch 'mg/cvsimport'
authorJunio C Hamano <gitster@pobox.com>
Wed, 5 Jan 2011 21:30:29 +0000 (13:30 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 5 Jan 2011 21:30:29 +0000 (13:30 -0800)
* mg/cvsimport:
cvsimport: handle the parsing of uppercase config options
cvsimport: partial whitespace cleanup

1  2 
git-cvsimport.perl
diff --combined git-cvsimport.perl
index d27abfe7f32ef47ee8b613293110147ca3006575,58f5b11dc2c5bbedcafaaba9f00146ab58cdf8d2..8e683e54783ab6e916bdb8ade56832ac81470648
@@@ -1,4 -1,4 +1,4 @@@
 -#!/usr/bin/perl -w
 +#!/usr/bin/perl
  
  # This tool is copyright (c) 2005, Matthias Urlichs.
  # It is released under the Gnu Public License, version 2.
@@@ -13,7 -13,6 +13,7 @@@
  # The head revision is on branch "origin" by default.
  # You can change that with the '-o' option.
  
 +use 5.008;
  use strict;
  use warnings;
  use Getopt::Long;
@@@ -90,23 -89,40 +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;
+                       }
                }
        }
  }