store mode in rev_list, if <tree>:<filename> syntax is used
[gitweb.git] / git-svnimport.perl
index f31fcf84ed3150a1d53676cd1e01ba276b122cba..3af8c7e1106d755b1589750ff5673ff6a6cd3b14 100755 (executable)
@@ -148,6 +148,7 @@ sub file {
        print "... $rev $path ...\n" if $opt_v;
        my (undef, $properties);
        my $pool = SVN::Pool->new();
+       $path =~ s#^/*##;
        eval { (undef, $properties)
                   = $self->{'svn'}->get_file($path,$rev,$fh,$pool); };
        $pool->clear;
@@ -183,6 +184,7 @@ sub ignore {
        my($self,$path,$rev) = @_;
 
        print "... $rev $path ...\n" if $opt_v;
+       $path =~ s#^/*##;
        my (undef,undef,$properties)
            = $self->{'svn'}->get_dir($path,$rev,undef);
        if (exists $properties->{'svn:ignore'}) {
@@ -199,6 +201,7 @@ sub ignore {
 
 sub dir_list {
        my($self,$path,$rev) = @_;
+       $path =~ s#^/*##;
        my ($dirents,undef,$properties)
            = $self->{'svn'}->get_dir($path,$rev,undef);
        return $dirents;
@@ -282,7 +285,7 @@ ($$)
 my $last_branch;
 my $current_rev = $opt_s || 1;
 unless(-d $git_dir) {
-       system("git-init-db");
+       system("git-init");
        die "Cannot init the GIT db at $git_tree: $?\n" if $?;
        system("git-read-tree");
        die "Cannot init an empty tree: $?\n" if $?;
@@ -356,6 +359,7 @@ ($$)
 sub node_kind($$) {
        my ($svnpath, $revision) = @_;
        my $pool=SVN::Pool->new;
+       $svnpath =~ s#^/*##;
        my $kind = $svn->{'svn'}->check_path($svnpath,$revision,$pool);
        $pool->clear;
        return $kind;
@@ -939,10 +943,10 @@ sub commit_all {
 print "Processing from $current_rev to $opt_l ...\n" if $opt_v;
 
 my $from_rev;
-my $to_rev = $current_rev;
+my $to_rev = $current_rev - 1;
 
 while ($to_rev < $opt_l) {
-       $from_rev = $to_rev;
+       $from_rev = $to_rev + 1;
        $to_rev = $from_rev + $repack_after;
        $to_rev = $opt_l if $opt_l < $to_rev;
        print "Fetching from $from_rev to $to_rev ...\n" if $opt_v;