对于一个项目,我需要获取一个git commit Id(几千)的列表,并一次比较两个,将特定信息从返回保存到文件中。我遇到的唯一问题是使用diff命令在Java中工作。我花了好几个小时试图解决这个问题,我仍然需要帮助。
答案 0 :(得分:1)
您可以使用以下命令运行命令并获取其结果:
ProcessBuilder processBuilder = new ProcessBuilder(command);
processBuilder.redirectErrorStream(true);
Process process = processBuilder.start();
String output = readOutput(process);
try {
if (process.waitFor() != 0) {
throw new IOException(
"command exited in error: " + process.exitValue()
+ "\n" + output);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
return output;
所以你只需要为你的问题定义最适合的“git diff ...”命令并解析输出。