X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=contrib%2Fgit-svn%2Fgit-svn;h=477ec1694bc4785c80cecb2defbe0f1a380418b0;hb=72942938bfd3587a52906890d7123c49ab71fafc;hp=1a8f40eddf46906b202b697ac7ff45e7e6d4e661;hpb=a18b63276281708143be7a7828bf106c88a7b307;p=git.git diff --git a/contrib/git-svn/git-svn b/contrib/git-svn/git-svn index 1a8f40ed..477ec169 100755 --- a/contrib/git-svn/git-svn +++ b/contrib/git-svn/git-svn @@ -30,7 +30,8 @@ use Getopt::Long qw/:config gnu_getopt no_ignore_case auto_abbrev/; use File::Spec qw//; my $sha1 = qr/[a-f\d]{40}/; my $sha1_short = qr/[a-f\d]{6,40}/; -my ($_revision,$_stdin,$_no_ignore_ext,$_no_stop_copy,$_help,$_rmdir,$_edit); +my ($_revision,$_stdin,$_no_ignore_ext,$_no_stop_copy,$_help,$_rmdir,$_edit, + $_find_copies_harder, $_l); GetOptions( 'revision|r=s' => \$_revision, 'no-ignore-externals' => \$_no_ignore_ext, @@ -38,6 +39,8 @@ GetOptions( 'revision|r=s' => \$_revision, 'edit|e' => \$_edit, 'rmdir' => \$_rmdir, 'help|H|h' => \$_help, + 'find-copies-harder' => \$_find_copies_harder, + 'l=i' => \$_l, 'no-stop-on-copy' => \$_no_stop_copy ); my %cmd = ( fetch => [ \&fetch, "Download new revisions from SVN" ], @@ -348,7 +351,10 @@ sub svn_checkout_tree { my $pid = open my $diff_fh, '-|'; defined $pid or croak $!; if ($pid == 0) { - exec(qw(git-diff-tree -z -r -C), $from, $commit) or croak $!; + my @diff_tree = qw(git-diff-tree -z -r -C); + push @diff_tree, '--find-copies-harder' if $_find_copies_harder; + push @diff_tree, "-l$_l" if defined $_l; + exec(@diff_tree, $from, $commit) or croak $!; } my $mods = parse_diff_tree($diff_fh); unless (@$mods) {