Я пытаюсь запустить команду GitLog через Processbuilder на Java.
Команда Гитлога:
git --git-dir=C:/Users/User/Code/code1/git/.git log --pretty=format:"%H \"%an\" %ad \"%s\"" --numstat --date=короткий
Это мой код. Путь — это путь к каталогу git. Я жестко закодировал gitpath в каталог git для тестирования.
public void createGitLog( Path path ) {
try
{
String gitpath = "--git-dir=C:/Users/User/Code/code1/git/.git";
String options = "--pretty=format:\"%H \\\"%an\\\" %ad \\\"%s\\\"\" --numstat --date=short";
ProcessBuilder builder = new ProcessBuilder("git", gitpath, "log", options );
Process process = builder.start();
builder.redirectOutput(ProcessBuilder.Redirect.to( path.resolve("gitlog.dat").toFile() ) );
int exitValue = process.waitFor();
if ( exitValue != 0 )
{
// throw
}
}
catch (IOException e) {
}
}
Если я попробую эту команду в cmd, она сработает, но в Java я всегда получаю код выхода 128.
В чем проблема с этим процессом?