http://tortoisesvn.net/docs/nightly/TortoiseSVN_zh_CN/tsvn-dug-diff.htmlhtml
在項目開發中,有一個很經常使用的要求就是查看更改。多是你要求查看同一文件的兩個版本之間的差別,或者是查看兩個獨立的文件的差別。TortoiseSVN 自帶了一個工具叫 TortoiseMerge 用來查看文本文件的差別。也有一個叫 TortoiseIDiff 的工具來查看圖像文件的差別。固然,你能夠根據你本身的喜愛來選擇比較差別的工具。瀏覽器
若是你想看到你的本地副本有哪些更加,只用在資源管理器中右鍵菜單下選app
→ 。若是你想查看主幹程序(假如你在分支上開發)有哪些修改或者是某一分支(假如你在主幹上開發)有哪些修改,你可使用右鍵菜單。在你點擊文件的同時按住Shift鍵,而後選擇 → 。在彈出的對話框中,將特別顯示將與你本地版本作比較的版本的URL地址。異步
你還可使用版本庫瀏覽器,選擇兩個目錄樹比較,也許是兩個標記,或者是分支/標記和最新版本。右鍵菜單容許你使用「比較文件夾」一節以便得到更多信息。ide
來比較它們。閱讀若是你想查看某一特定版本與本地副本之間的差別,使用顯示日誌對話框,選擇要比較的版本,而後選擇在右鍵菜單中選svn
若是你想查看上一次提交的版本和你的工做副本之間的差別,假設你的工做副本沒有被修改,只要用右鍵單擊文件。而後選擇函數
→ 。這樣將會對上一次提交時間(記錄在你的工做副本中)以前的版本和工做基礎版本進行差別比較。它將會顯示工做副本中此文件變成當前狀態的那一次修改。它不會顯示比工做副本更新的修改。若是你要查看任意已提交的兩個歷史版本之間的差別,在版本日誌對話框中選擇你要比較的兩個版本(通常使用 Ctrl-更改),而後在右鍵菜單中選工具
若是你在文件夾的版本日誌中這樣作,就會出現一個比較版本對話框,顯示此文件夾的文件修改列表。閱讀「比較文件夾」一節以便得到更多信息。ui
若是你要在一個視窗中查看某一版本的全部更改,你可使用統一顯示全部比較 (GNU 片斷整理)。它將顯示全部修改中的部份內容。它很難顯示一個全面清晰的比較,可是會將全部更改都集中顯示出來。在版本日誌對話框中選擇某一版本,而後在右鍵菜單中選擇this
。若是你要查看兩個不一樣文件之間的差別,你能夠直接在資源管理器中選擇這兩個文件(通常使用 Ctrl-modifier),而後右鍵菜單中選 → 。
若是你要查看你本地副本中的某個文件與任意 Subversion 版本庫中的某個文件之間的差別,你能夠之間在資源管理器中操做,選中文件而後按下 Shift 鍵,同時右鍵單擊顯示右鍵菜單。選中 → 。你能夠對工做副本文件夾作相同的操做。TortoiseMerge 經過與顯示補丁文件相同的方法顯示文件夾差別 - 你能夠經過一個已修改文件列表分別查看某個文件。
若是你要查看的不只是比較差別並且包括修改該版本的做者,版本號和日期,你能夠在版本日誌對話框中綜合比較差別和追溯信息。這裏有更多詳細介紹「追溯不一樣點」一節。
TortoiseSVN 自帶的內置工具不支持查看多級目錄之間的差別,但你可使用支持該功能的外置工具來替代。在 「其餘的比較/合併工具」一節 介紹了一些咱們使用過的工具。
若是你已經配置了第三方的比較工具,你能夠在選擇比較差別命令的時候按下 Shift 鍵來選擇替代工具。關於配置其它比較工具,請參閱 「外部程序設置」一節。
在項目的生命週期中,有時可能會將行結束符由 CRLF
改成 LF
,或者修改一段代碼的縮進。不幸的是這樣將會使大量的代碼行被標記爲已修改,儘管代碼自己並無被修改。這裏列出的選項將會在比較差別和應用補丁時幫助你應對這些修改。你將會在合併和追溯對話框中看到這些設置,它們一樣也出如今 TortoiseMerge 的設置中。
忽略行結束符 排除僅行結束符的差別。
比較空白 將全部縮進和行內空白差別視爲增長/刪除的行。
忽略空白修改 排除那些徹底是針對空白數量或類型的修改,例如,修改縮進或者將 tab 改成空格。在原來沒有空白的地方增長空白或刪除所有空白仍然會顯示爲修改。
忽略全部空白 排除僅空白改變的差別。
天然的,任何已經修改內容的行永遠都包含在差別中。
當你在版本庫瀏覽器中選擇了兩個樹,或者在日誌對話框中選擇了一個文件夾的兩個版本,就可使用 → 。
這個對話框顯示一個全部已經修改的文件列表,容許你使用右鍵菜單單獨的比較或追溯它們。
你能夠導出修改樹,當你須要將僅包含已修改文件的項目樹結構發送給其它人的時候頗有用。這個操做僅對選中的文件有效,因此須要選擇你感興趣的文件 - 一般這就意味着所有文件 - 而後使用 → 。而後會提示你選擇目錄保存修改樹。
你也能夠經過列表導出爲文本文件。
→ 將修改過的文件若是你須要導出文件列表和動做(修改,增長,刪除),你可使用 → 。
頂部的按鈕容許你改變比較的方向。你能夠顯示從A到B的修改,或者若是你喜歡,顯示從B到A的修改。
有版本數字的按鈕能夠用來改變版本範圍。當你改變範圍時,兩個版本不一樣的項目列表會自動更新。
若是列表中的文件很是多,你可使用查找框來篩選文件名中包含指定文字的文件,從而減小列表中的文件。注意這裏使用的是簡單文本查找,因此當你須要顯示 C 語言源碼的列表時,你應該輸入.c
而不是 *.c
。
咱們有許多有用的比較文本文件的工具,包括咱們自帶的TortoiseMerge,可是咱們也須要查看圖像文件的更改。這就是咱們設計TortoiseIDiff的緣由。
→ 會啓動 TortoiseIDiff 顯示經常使用格式的圖像差別。通常狀況下是左右對稱地顯示兩個圖像,但你也能夠經過視圖菜單或者工具欄切換爲上下顯示的模式,或者若是你願意,也能夠重疊顯示圖像。
固然你也能夠放大和縮小,或者移動圖像。你也能夠簡單的經過左鍵拖拽來移動圖像。若是你選擇連接圖像位置,則移動控制(滑動條,鼠標滾輪)對兩幅圖像同時生效。
在圖像信息框中顯示了圖像的基本信息,好比像素的大小,顏色的深度。若是以爲這個框礙眼能夠選擇
→ 來隱藏它。當你的鼠標指針位於圖像標題欄上方時,能夠從工具提示中得到一樣的信息。當圖像疊加時,圖像的相對亮度(alpha 混合)由左邊的滑桿控制。你能夠點擊滑桿的任意地方來設置混合參數,或者經過拖曳滑桿來交互改變。Ctrl+Shift-鼠標滾輪也能夠改變混合參數。
滑桿上方的按鈕能夠切換 0% 和 100% 混合,若是你雙擊按鈕,會每隔兩秒鐘自動切換,直到再次點擊按鈕爲止。當查看多處小更改時,這個功能頗有用。
有時你想要查看不一樣但不是混合圖像。也許你有兩個版本的印刷電路板圖像文件,想查看哪些線條改變了。若是你關閉 alpha 混合模式,不一樣之處會以像素顏色值的或非(XOR)結果顯示。未修改的區域是純白色的,修改的部分則是彩色的。
When you want to diff non-text documents you normally have to use the software used to create the document as it understands the file format. For the commonly used Microsoft Office and Open Office suites there is indeed some support for viewing differences and TortoiseSVN includes scripts to invoke these with the right settings when you diff files with the well-known file extensions. You can check which file extensions are supported and add your own by going to External Programs section.
→ and clicking in theIf you installed the Click-to-Run version of Office 2010 and you try to diff documents you may get an error message from Windows Script Host something like this: 「ActiveX component can't create object: word.Application」. It seems you have to use the MSI-based version of Office to get the diff functionality.
若是咱們提供的這些工具不是你所須要的,能夠嘗試使用一些其餘開源的或者商業的軟件。每一個人都有不一樣喜愛,下面列表雖不徹底,或許有些你也會承認的:
WinMergeWinMerge也是一款很好的能處理目錄的開源軟件。
Perforce 是一款商業 RCS,可是你也能夠免費下載到。能夠從Perforce得到更多信息。
KDiff3也是一款能處理目錄的免費比較工具。你能夠從here下載。
SourceGear Vault is a commercial RCS, but you can download the diff/merge tool for free. Get more information fromSourceGear.
ExamDiff Standard是免費軟件。它能處理文件但不能處理目錄。ExamDiff Pro是共享軟件,擁有一系列的功能包括目錄比較和編輯的能力。對於以上體驗,3.2及以上版本能處理二進制。你能夠從PrestoSoft下載它們。
和ExamDiff Pro同樣,這也是一款很不錯的共享軟件,一樣也能進行目錄比較和二進制處理。下載地址Scooter Software。
Araxis Merge是一款能對文件和文件夾進行比較和合並的商業軟件。在合併時它進行三路比較,並且在你修改函數的順序時能夠進行異步連接。能夠從這裏下載 Araxis。
「外部程序設置」一節這裏能夠了解到怎樣起用TortoiseSVN來使用這些工具。