私はファイル構造を読み、git bash(これもperlに付属)で再生できる新しいscripitを書くためにperlを使います。ここで
は、私が唯一のディレクトリ構造として、古いファイル構造とgitの構造で始まる
を働くだろうスクリプトの例です。私のgitフォルダから、findコマンドを使って古い構造のすべてのファイルを見つけ、perlスクリプトでそれらのファイルを繰り返します。
[email protected] /cygdrive/c/work/temp/git
$ find ../old/
../old/
../old/libs
../old/libs/config
../old/libs/config/config_file_01.pm
../old/libs/config/config_file_02.pm
../old/libs/config/config_file_03.pm
../old/libs/lib_file.01.pm
../old/libs/lib_file.02.pm
../old/libs/lib_file.03.pm
そして、perlスクリプトを使用して:
次のリプレイのスクリプトを作成する
#!/usr/bin/perl
use strict;
use English;
print "hello greg\n";
undef $/;
my $content = <ARGV>;
my @files = split(/\n/,$content);
for my $tag ('01','02','03') {
for my $file (@files) {
if ($file =~ /$tag/) {
my $newFile = $file;
$newFile =~ s/_$tag//sg;
$newFile =~ s/..\/old\///sg;
print "cp$_ $file $newFile\n";
}
}
print "git add --all\n";
print "git commit -a -m \"commint from tag $tag\"\n";
}
:
[email protected] /cygdrive/c/work/temp/git
find ../old/ | ../import.pl
hello greg
cp ../old/libs/config/config_file_01.pm libs/config/config_file.pm
cp ../old/libs/lib_file.01.pm libs/lib_file.01.pm
git add --all
git commit -a -m "commint from tag 01"
cp ../old/libs/config/config_file_02.pm libs/config/config_file.pm
cp ../old/libs/lib_file.02.pm libs/lib_file.02.pm
git add --all
git commit -a -m "commint from tag 02"
cp ../old/libs/config/config_file_03.pm libs/config/config_file.pm
cp ../old/libs/lib_file.03.pm libs/lib_file.03.pm
git add --all
git commit -a -m "commint from tag 03"
"責任ある開発者は、使用のバージョンをdidntの" - 責任ある開発者は、常にバージョン管理を使用しています。 – Axel
私はあなたに完全に同意しています...まあまあ、ちょっと彼ら自身の「バージョン管理」を使っています。 – nmanh