我正在使用svn命令編寫python腳本,以在文件上打印2個svn修訂版本的完整上下文更改日志(指示更改的完整文件)。我對一個svn repo有兩次提交,我需要這兩個修訂版的區(qū)別。為此,我可以使用它svn diff -r <rev1>:<rev2>但是問題在于,在更改的上下文中,這只給了很少的限制。例如,如果我有一個100行的文件,并且更改了第50行,這將向我顯示第50行的更改,并在其上下分別顯示5-7行。我需要的是一個命令(或其他方式)向我顯示完整的文件,其中所做的更改僅顯示在第50行中。還嘗試使用此處提到的建議,但是對于我來說,這似乎不可行。
1 回答

HUH函數(shù)
TA貢獻1836條經(jīng)驗 獲得超4個贊
對于您提供的鏈接的命令:
svn diff --diff-cmd=diff -x -U10
在這里,這--diff-cmd
意味著您將使用第三方工具來有所作為。而您將要使用的第三方工具是diff
。因此,首先您需要查看該diff
工具是否已安裝在系統(tǒng)中以及是否在路徑變量中。
您可以通過在命令promt或終端中鍵入以下內(nèi)容來進行檢查。 diff --help
對于您的情況,因為您需要整個文件,則應(yīng)嘗試使用以下命令:
svn diff -r 34:35 --diff-cmd=diff -x -y > somefile.txt
在這里,您要求svn進行差異修訂34和35,但使用名為的外部差異工具diff
。隨著-x
你告訴你傳遞的標志-y
這一外部工具和存儲在一個文本文件中的輸出。
該-y
標志告訴外部diff工具進行并排比較,并在兩列中輸出數(shù)據(jù)。
文本文件將如下所示。這將是一個非常長的文件,因為它具有所有已更改文件的全部。
添加回答
舉報
0/150
提交
取消