Browse Source

Merge branch 'pb/cvsimport'

* pb/cvsimport:
  cvsimport: document that -M can be used multiple times
  cvsimport: allow for multiple -M options
  cvsimport: have default merge regex allow for dashes in the branch name
maint
Junio C Hamano 17 years ago
parent
commit
ac6aa16279
  1. 6
      Documentation/git-cvsimport.txt
  2. 17
      git-cvsimport.perl

6
Documentation/git-cvsimport.txt

@ -102,13 +102,17 @@ If you need to pass multiple options, separate them with a comma. @@ -102,13 +102,17 @@ If you need to pass multiple options, separate them with a comma.

-m::
Attempt to detect merges based on the commit message. This option
will enable default regexes that try to capture the name source
will enable default regexes that try to capture the source
branch name from the commit message.

-M <regex>::
Attempt to detect merges based on the commit message with a custom
regex. It can be used with '-m' to enable the default regexes
as well. You must escape forward slashes.
+
The regex must capture the source branch name in $1.
+
This option can be used several times to provide several detection regexes.

-S <regex>::
Skip paths matching the regex.

17
git-cvsimport.perl

@ -15,7 +15,7 @@ @@ -15,7 +15,7 @@

use strict;
use warnings;
use Getopt::Std;
use Getopt::Long;
use File::Spec;
use File::Temp qw(tempfile tmpnam);
use File::Path qw(mkpath);
@ -29,7 +29,7 @@ use IPC::Open2; @@ -29,7 +29,7 @@ use IPC::Open2;
$SIG{'PIPE'}="IGNORE";
$ENV{'TZ'}="UTC";

our ($opt_h,$opt_o,$opt_v,$opt_k,$opt_u,$opt_d,$opt_p,$opt_C,$opt_z,$opt_i,$opt_P, $opt_s,$opt_m,$opt_M,$opt_A,$opt_S,$opt_L, $opt_a, $opt_r);
our ($opt_h,$opt_o,$opt_v,$opt_k,$opt_u,$opt_d,$opt_p,$opt_C,$opt_z,$opt_i,$opt_P, $opt_s,$opt_m,@opt_M,$opt_A,$opt_S,$opt_L, $opt_a, $opt_r);
my (%conv_author_name, %conv_author_email);

sub usage(;$) {
@ -112,7 +112,12 @@ sub read_repo_config { @@ -112,7 +112,12 @@ sub read_repo_config {

my $opts = "haivmkuo:d:p:r:C:z:s:M:P:A:S:L:";
read_repo_config($opts);
getopts($opts) or usage();
Getopt::Long::Configure( 'no_ignore_case', 'bundling' );

# turn the Getopt::Std specification in a Getopt::Long one,
# with support for multiple -M options
GetOptions( map { s/:/=s/; /M/ ? "$_\@" : $_ } split( /(?!:)/, $opts ) )
or usage();
usage if $opt_h;

if (@ARGV == 0) {
@ -164,10 +169,10 @@ if ($#ARGV == 0) { @@ -164,10 +169,10 @@ if ($#ARGV == 0) {

our @mergerx = ();
if ($opt_m) {
@mergerx = ( qr/\b(?:from|of|merge|merging|merged) (\w+)/i );
@mergerx = ( qr/\b(?:from|of|merge|merging|merged) ([-\w]+)/i );
}
if ($opt_M) {
push (@mergerx, qr/$opt_M/);
if (@opt_M) {
push (@mergerx, map { qr/$_/ } @opt_M);
}

# Remember UTC of our starting time

Loading…
Cancel
Save