Was ich getan habe, geändert wird, um die git-cvsimport Perl-Skript, habe ich geändert, um die update_index()
Methode aus:
sub update_index (\@\@) {
my $old = shift;
my $new = shift;
open(my $fh, '|-', qw(git update-index -z --index-info))
or die "unable to open git update-index: $!";
print $fh
(map { "0 0000000000000000000000000000000000000000\t$_\0" }
@$old),
(map { '100' . sprintf('%o', $_->[0]) . " $_->[1]\t$_->[2]\0" }
@$new)
or die "unable to write to git update-index: $!";
close $fh
or die "unable to write to git update-index: $!";
$? and die "git update-index reported error: $?";
}
An:
sub update_index (\@\@) {
my $old = shift;
my $new = shift;
open(my $fh, '|-', qw(git update-index -z --index-info))
or die "unable to open git update-index: $!";
print $fh
(map { "0 0000000000000000000000000000000000000000\t$cvs_tree/$_\0" }
@$old),
(map { '100' . sprintf('%o', $_->[0]) . " $_->[1]\t$cvs_tree/$_->[2]\0" }
@$new)
or die "unable to write to git update-index: $!";
close $fh
or die "unable to write to git update-index: $!";
$? and die "git update-index reported error: $?";
}
(Beachten Sie die Zugabe des $cvs_tree
variabel.)
Funktioniert wie ein Charme. Zur Ausführung:
perl git-cvsimport -v ... (rest of regular git-cvsimport arguments)
Es besagt, dass Sie direkten Zugriff auf das Repository benötigen, um cvs2git zu verwenden. Wenn Sie nur Fernzugriff haben, ist es offensichtlich ein Hack. – Neil