2012-06-07 96 views
1

对于一个项目,我需要获取git commit Id(几千)的列表,并一次比较两个,将返回的特定信息保存到文件中。我遇到的唯一问题是使用diff命令来使用Java。我花了好几个小时试图弄清楚这一点,但我仍然需要帮助。Java中的Git Diff命令

+1

我想你使用了java.lang.ProcessBuilder。有什么问题?你的操作系统是什么? –

回答

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的差异...”命令,并解析输出。

+0

谢谢。问题解决了。我很感激。 – SSEMember