當我使用命令行中的'svn diff'時,它會打印出已更改的行,但也會打印出上下文之前和之後未更改的三行。我更喜歡只看到沒有上下文的變化線條。我一直無法確定任何命令行選項,這些選項可以讓我按照這種方式進行操作。標準的「差異」和「CVS差異」做默認情況下我想要的。當然'svn diff'可以做到這一點,但我錯過了一些東西。任何人都知道嗎?如何在使用svn時獲取NO上下文比較
回答
通過放鬆觀察上面給出的有用鏈接之後,簡短答案是svn's built -in diff不能做我想要的。你可以告訴它使用標準的外部差異,並通過arg來告訴它你不需要上下文。我把下面的別名在我的.bashrc和現在都工作得很好,如果我使用來代替:
alias svndiff='svn diff --diff-cmd=diff -x -U0'
This thread似乎得出結論,您應該使用外部diff命令來控制上下文的數量。
我更喜歡統一比較,所以我的手指總是鍵入
svn diff -x -u
這意味着使用外部(GNU的diff)命令,我想。
感謝您的有用鏈接。讓我感到驚訝的是,內置的差異不能做我想要的。對我來說,違反了輸出最少的Unix原則。 使用-x -u命令給我的結果與不同。 'svn help diff'告訴我那些是默認值。也許你不需要輸入額外的字符? – DaveBurns 2009-10-16 13:35:24
您可以將'svn diff'的結果傳遞給grep並編寫正則表達式來獲取所需內容。例如,試試這個:
svn diff | grep "^[+-\]"
上面的命令會讓你以'+'或' - '或'\'開頭的所有行。 (如果你想看到差異,例如「\在文件末尾沒有換行符」,那麼你需要'\')。
如果你只想改變線條,這工作正常。但是,它無法輸出有關行號的正確信息。例如。在之前/之後有3行上下文,「@@ -21,7 +21,7 @@」表示第24行改變了。在沒有上下文的情況下,你會看到「@@ -24,1 +24,1 @@」 – kamczak 2015-11-30 17:55:58
以上建議仍然產生上下文格式,但0行內容。這仍然不是顛覆之前的傳統差異輸出。
我什麼工作原理是:svn di --diff-cmd=diff -x --normal
的--normal
選項(在DIFF與OSX的船舶)給出了一些人喜歡傳統的格式。
- 1. 如何獲取上下文使用Django
- 2. 比較上下文向量
- 3. 如何獲取上下文
- 4. 如何獲取上下文
- 5. SVN不同的下一行比較
- 6. 如何在使用Java下載文件時獲取文件名?
- 7. 如何在調用上下文菜單時獲取視圖
- 8. SVN分支比較
- 9. 如何在onActivityResult中獲取上下文?
- 10. 如何在GameSurfaceView中獲取上下文?
- 11. 如何使用模式'no-cors'的獲取API獲取數據?
- 12. 如何獲取和比較libcurl版本?
- 13. 如何比較時在JS
- 14. 如何使用SharpSvn來比較Svn存儲庫
- 15. Android:如何在使用ActivityInstrumentationTestCase2進行測試時獲取上下文?
- 16. 比較svn中的odt文件
- 17. 從比較編輯器獲取文檔
- 18. 如何在codeigniter中使用連接表獲取數據NO ID?
- 19. 使用webdriverio獲取畫布上下文
- 20. 如何在C++中使用比較運算符來比較日期和時間
- 21. 如何比較C上的文字
- 22. 如何擴展Eclipse的比較上下文菜單?
- 23. 如何比較兩個不同活動的上下文對象..?
- 24. 獲取使用svn update下載的文件數
- 25. 如何使用python讀取txt文件並比較值?
- 26. 如何從Firebase存儲下載時獲取百分比下載?
- 27. SVN比較JS不工作
- 28. 如何獲取PopupWindow的上下文?
- 29. 如何從ApplicationDbContext.OnConfiguring獲取HTTP上下文?
- 30. 如何從意圖獲取上下文?
'-x'是'svn diff'的擴展參數,它會使緊跟着的標記(這裏是'-U0')傳遞給用'--diff-cmd'指定的diff命令,這裏是'diff'。 – valid 2015-04-21 11:42:06