複製鏈接
請複製以下鏈接發送給好友

TortoiseSVN

鎖定
TortoiseSVN 是 Subversion 版本控制系統的一個免費開源客户端,可以超越時間的管理文件和目錄。文件保存在中央版本庫,除了能記住文件和目錄的每次修改以外,版本庫非常像普通的文件服務器。你可以將文件恢復到過去的版本,並且可以通過檢查歷史知道數據做了哪些修改,誰做的修改。這就是為什麼許多人將 Subversion 和版本控制系統看作一種“時間機器”。
軟件名稱
TortoiseSVN
軟件版本
1.14.5 [8] 
外文名
TortoiseSVN
版    本
Subversion
類    型
客户端
應    用
超越時間的管理文件和目錄

TortoiseSVN定義

版本控制管理信息修改的藝術,它一直是程序員最重要的工具,程序員經常會花時間作出小的修改,然後又在某一天取消了這些修改,想象一下一個開發者並行工作的團隊 - 或許是同時工作在同一個文件!- 你就會明白為什麼一個好的系統需要管理潛在的混亂。
某些版本控制系統也是軟件配置管理(SCM)系統,這種系統經過精巧的設計,專門用來管理源代碼樹,並且具備許多與軟件開發有關的特性 - 比如,對編程語言的支持,或者提供程序構建工具。不過 Subversion 並不是這樣的系統;它是一個通用系統,可以管理任何類型的文件集,包括源代碼。
(概述內容來源: [1] 

TortoiseSVN發展歷史

在2002年,Tim Kemp 發現 Subversion 是一個很好的版本控制系統,但是沒有好的圖形化客户端,創建一個作為 Windows 外殼集成的 Subversion 客户端的創意來自 TortoiseCVS,一個非常類似的 CVS 客户端。
Tim 學習了 TortoiseCVS 的源代碼,將其作為 TortoiseSVN 的基礎,然後開始這個項目,註冊了域名 tortoisesvn,並將源代碼提交到網上。此時 Stefan Küng 正在尋找一個好的免費版本控制系統,他發現了 Subversion 和 TortoiseSVN,由於 TortoiseSVN 還不能夠使用,他加入了這個項目並開始編程。很快他便重寫了大多數代碼,並且開始添加命令和特性,此時,最初的代碼都已經不復存在了。
隨着 Subversion 越來越穩定,吸引了越來越多的用户開始使用 TortoiseSVN 作為他們的 Subversion 客户端。用户羣增長迅速(每天都持續增長)。Lübbe Onken 提供了許多漂亮圖標和 TortoiseSVN 的 logo,細心照料網站並且管理翻譯。
2013年6月13日,Wandisco收購TortoiseSVN[dot]Net, TortoiseSVN leader - Stefan Küng加入Wandisco,有了Apache subversion領導開發者Wandisco的支持,TortoiseSVN將會有更多的改進。 [2] 

TortoiseSVN特性

是什麼讓 TortoiseSVN 成為一個好的 Subversion 客户端?下面是一個簡短的特性列表。

TortoiseSVN可選的網絡層

Subversion 在版本庫訪問方面有一個抽象概念,利於人們去實現新的網絡機制,Subversion 的“高級”服務器是 Apache 網絡服務器的一個模塊,使用 HTTP 的變種協議 WebDAV/DeltaV 通訊,這給了 Subversion 在穩定性和交互性方面很大的好處,可以直接使用服務器的特性,例如認證、授權、傳輸壓縮和版本庫瀏覽等等。也有一個輕型的,單獨運行的 Subversion 服務器,這個服務器使用自己的協議,可以輕鬆的用 SSH 封裝。

TortoiseSVN數據處理

Subversion 使用二進制文件差異算法展現文件的區別,對於文本(人類可讀)和二進制(人類不可讀)文件具備一致的操作方式,兩種類型的文件都壓縮存放在版本庫中,差異在網絡上雙向傳遞。
高效的分支和標籤
分支與標籤的代價不與工程的大小成比例,Subversion 建立分支與標籤時只是複製項目,使用了一種類似於硬鏈接的機制,因而這類操作通常只會花費很少並且相對固定的時間,以及很小的版本庫空間。

TortoiseSVN維護能力

Subversion 沒有歷史負擔,它由一系列良好的共享 C 庫實現,具有定義良好的 API,這使 Subversion 非常容易維護,可以輕易的被其他語言和程序使用。

TortoiseSVN外殼集成

TortoiseSVN 與Windows 外殼(例如資源管理器)無縫集成,你可以保持在熟悉的工具上工作,不需要在每次使用版本控制功能時切換應用程序
並且你不一定必須使用 Windows 資源管理器,TortoiseSVN 的右鍵菜單可以工作在其他文件管理器,以及文件/打開對話框等標準的 Windows 應用程序中。你必須牢記,TortoiseSVN 是有意作為 Windows 資源管理器的擴展開發,因此在其他程序可能集成的並不完整,例如重載圖標可能不會顯示。

TortoiseSVN重載圖標

每個版本控制的文件和目錄的狀態使用小的重載圖標表示,可以讓你立刻看出工作副本的狀態。

TortoiseSVN簡便訪問

Subversion 命令的簡便訪問
所有的 Subversion 命令存在於資源管理器的右鍵菜單,TortoiseSVN 在那裏添加子菜單
因為 TortoiseSVN 是一個 Subversion 客户端,我們也很願意為你展示一些 Subversion 本身的特性:

TortoiseSVN目錄版本控制

CVS 只能追蹤單個文件的歷史,但是 Subversion 實現了一個“虛擬”文件系統,可以追蹤整個目錄樹的修改,文件和目錄都是版本控制的,結果就是可以在客户端對文件和目錄執行移動和複製命令。

TortoiseSVN原子提交

提交要麼完全進入版本庫,要麼一點都沒有,這允許開發者以一個邏輯塊提交修改。
版本控制的元數據
每個文件和目錄都有一組附加的“屬性”,你可以發明和保存任意的鍵/值對,屬性是版本控制的,就像文件內容。

TortoiseSVN安裝

TortoiseSVN的界面已經翻譯成了許多種語言,所以你可以下載符合你要求的語言包。你可以在我們的翻譯狀態頁裏看到語言包。如果沒有你需要的,為什麼不加入我們的團隊並且提交你的翻譯呢?
每一種語言包都是一個.exe安裝程序,只要根據嚮導運行安裝程序,當你下一次啓動程序時,翻譯就會生效。
拼寫檢查器
TortoiseSVN包括了一個拼寫檢查器,可以檢查你的提交日誌信息,當你的項目語言不是你的本地語言時尤其有用,拼寫檢查器使用OpenOffice和Mozilla相同的詞典。
安裝程序會自動增加了美國和英國英語詞典。如果你想用其他語言,最簡單的方法是簡單地安裝一個TortoiseSVN的語言包。它將安裝合適的詞典文件以對應本地用户的TortoiseSVN界面。字典將在下次啓動時可用。
或者你也可以自己安裝詞典。如果你安裝了OpenOffice或Mozilla,你可以複製這些詞典,位於那些應用的安裝目錄。否則,你需要從網絡上下載必要的詞典文件。
一旦你得到了詞典文件,你可能需要重命名文件,這樣文件名只包含位置信息,例如:
en_US.aff
en_US.dic
然後把它們複製到TortoiseSVN安裝目錄的bin子目錄,通常情況下,可能是在C:\ProgramFiles\TortoiseSVN\bin。如果你不希望弄亂bin子目錄,你可以將拼寫檢查文件放置在C:\ProgramFiles\TortoiseSVN\Languages,如果那個目錄不存在,你可以自己創建,當你下次啓動TortoiseSVN時,就可以使用拼寫檢查器。
如果你安裝了多個詞典,TortoiseSVN使用下面的規則選擇一個。
檢查tsvn:projectlanguage設置,關於設置項目屬性可以參考“項目設置”一節。
如果沒有設置項目語言,或者那個語言沒有安裝,嘗試使用對應Windows區域信息的語言。
如果精確的Windows區域信息不起作用,可以試一下“基礎”語言,例如將de_CH(Swiss-German)修改為de_DE(German)。

TortoiseSVN使用技巧

TortoiseSVN檢出代碼

初次使用TortoiseSVN的時候,你需要將服務器的代碼下載到本地,這就是SVN Checkout(SVN檢出)。檢出的步驟如下
圖1 建立工作目錄 圖1 建立工作目錄
第一步,如圖1,創建一個新文件夾作為本地工作目錄(Working directory),可以使用應用名為文件夾名。如,為我的應用vyes創建本地工作目錄。
第二步,從SVN倉庫檢出(checkout)一個應用的全部版本代碼,右鍵–>點擊“SVN Checkout”
在彈出頁面中填寫倉庫URL即可,其它默認參數即可,如圖3:
圖3 TortoiseSVN檢出對話框 圖3 TortoiseSVN檢出對話框
Reversion處,“HEAD revision”是指最新版,也可以指定Revision為任意一個版本。
點擊“OK”,出現下載界面,如圖4:
圖4 檢出的下載界面 圖4 檢出的下載界面
如果一切順利,vyes應用所有版本代碼將會全部出現在剛剛創建的vyes文件夾下文件夾,Log中最後的Revision表示檢出的當前SVN倉庫的代碼版本,1是指vyes的第一個版本,如圖5:
圖5 TortoiseSVN檢出成功 圖5 TortoiseSVN檢出成功

TortoiseSVN提交代碼

圖6 右鍵菜單的commit
圖6 右鍵菜單的commit(4張)
在本地使用你喜歡的編輯器,編輯任意文件,保存後該文件圖標將會出現紅色感嘆號,表示這個文件修改過,沒有提交,如圖6所示:
剛剛修改過的global.css變色了。下面需要提交(commit)最近的更新。在global.css上擊右鍵,出現菜單 ,選擇“SVN commit”,
然後填寫關於本次更新的日誌(log message),這是必填項,否則commit會失敗。
當您看到提交成功界面,表明剛才的修改已經成功提交,並且前該vyes項目的SVN版本號加1,變成91了。關於SVN的版本號是全局的,也就是説SVN倉庫中的所有文件變更都共享一個版本號序列,所以如果查看某個文件,或者目錄的log,可以發現版本號可能並不是依次遞增。

TortoiseSVN新增文件

圖10 新增文件或文件夾 圖10 新增文件或文件夾
在 SVN工作目錄下,對於文件修改,完成後只需要commit就ok了,但對於新增文件,或者從其它目錄複製進來的文件或文件夾,需要在commit之前需 要做一步add操作,即將文件或文件夾添加到svn工作目錄中來,否則SVN客户端不認它。具體操作很簡單,如圖10:
然後右鍵commit即可,commit之後,在瀏覽器上輸入你的應用地址就能訪問了。

TortoiseSVN版本發佈

2012年01月16日,TortoiseSVN 1.7.4 發佈。 [3] 
2012年04月29日,TortoiseSVN 1.7.6 發佈。 [4] 
2012年06月08日,TortoiseSVN 1.7.7 發佈,SVN客户端。 [5] 
2012年08月16日,TortoiseSVN 1.7.8 發佈。 [6] 
2012年09月11日,TortoiseSVN 1.7.9發佈。 [7] 
TortoiseSVN 1.7.11發佈
參考資料