JavaでProcessbuilderを使用してGitLogコマンドを開始しようとしています。Java Process BuilderでGitLogを開始
GitLogコマンド:
のgit --git-DIR = C: --pretty =フォーマットをログ/Users/User/Code/code1/git/.git: "%H \" %AN \ "%ad \"%s \ "" --numstat --date = short
これは私のコードです。パスはgitディレクトリへのパスです。 テストのためにgitディレクトリにgitpathをハードコードしました。
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
このプロセス通報は何ですか取得する場合は?
コマンドラインで実行すると、パスワード、sshキーなどの保存された設定が使用されている可能性があります。 gitがスムーズに実行できるように、コードに別のコマンド(たとえば、資格情報を保存する)を実行してみてください。 – Juvanis