我正在尝试通过系统调用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
答案 0 :(得分:0)
Busch,你知道Perl目前的工作目录是什么吗?
您可以尝试:
use Cwd;
$dir = getcwd();
print $dir;
当您要求提供&#39; git log&#39;时,请确保它已在您的存储库中运行,并尝试使用&#39; chdir&#39;如果不是,那就进入剧本中。