2012-06-07 128 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