无法在perl中使用系统调用进行git克隆

时间:2014-06-20 16:57:25

标签: git perl batch-file

我正在尝试通过系统调用perl中的git log命令并将其输出到文件,但我一直说“不是git存储库”。我的代码如下。有什么建议吗?

perl片段:

Readonly my $CLONE_COMMAND => 'git_clone.bat';
Readonly my $GIT_LOG_COMMAND => 'git_log_pretty';

system("$GIT_LOG_COMMAND > $GIT_REPO_XML_FILE");

git_clone.bat :( repo url以%1的形式传递,repo的名称为%2)

@echo off
cd "c:\MyGit"
git clone "%1"
cd "c:\MyGit\%2"

git_log_pretty.bat:

git log --pretty="format:<author>%an</author>%n<date>%ai</date>%n<msg>don't care</msg>%n" --name-only 

1 个答案:

答案 0 :(得分:0)

Busch,你知道Perl目前的工作目录是什么吗?

您可以尝试:

use Cwd;
$dir = getcwd();
print $dir;

当您要求提供&#39; git log&#39;时,请确保它已在您的存储库中运行,并尝试使用&#39; chdir&#39;如果不是,那就进入剧本中。