2013-10-09 64 views
0

我在Win7-32​​位上遇到了一個非常奇怪的git問題。我成功地能夠在git bash甚至cmd中執行git diff命令,但Java代碼並非如此。Git Diff命令在Java中不起作用

下面的代碼顯示沒有輸出(而所有其他的git命令,如whatchanged,狀態等完美地工作):

final String fetch="cmd /c cd "%PATH_TO_GIT_REPOSITORY_ON_SYSTEM%+" && "+ 
         "git diff >abc.txt"; 
Process p=Runtime.getRuntime().exec(fetch2); 
p.waitFor(); 

任何形式的幫助理解。謝謝。

+0

你是說'abc.txt'是空的? –

+0

是的。即使使用p.getInputStream()的輸出爲空(當我不寫入文件時) –

+0

如果從實際的git目錄啓動Java應用程序並直接使用'git diff ...'運行你的進程,而不是'&&'? –

回答

0

我得到了一個新的命令來滿足我的需求:這是git whatchanged --stat。以與git diff --stat相同的方式工作。無論如何,謝謝你的嘗試