




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、TortoiseSVN客戶端的日常使用開始4圖標重載4右鍵菜單4拖放6常用快捷方式7認證7檢出工作副本8重要8重要9讓你的修改進入版本庫9提交文件還是文件夾?10在提交對話框中有很多未受控的文件11拖放11修復外部改名11用來自別人的修改更新你的工作復本13小心14多文件/文件夾15本地文件已經存在15解決沖突15獲得狀態信息16圖標重載16在 Windows 資源管理器中的 TortoiseSVN 列18提示18本地與遠程狀態18提示20修復外部改名20查看差別20提示20版本日志對話框20調用版本日志對話框21獲得更多信息22獲取更多的日志信息24修改日志消息和作者25警告25過濾日志信息
2、25統計信息26查看差異27文件差異28比較文件夾29使用 TortoiseIDiff 進行比較的圖像30其他的比較/合并工具31添加新文件和目錄32更多32撤消更改32取消已經提交的改變33清理33使用提交時戳33誰修改了哪一行?34追溯文件34追溯不同點35本文目的在與描述TortoiseSVN客戶端的日常使用。不是一個版本控制系統指南,也不是Subversion (SVN)的指南。本文檔的價值在于,當你知道大概要做什么,卻又記不起應該怎么做的時候,可以有個參考的地方。如果你需要了解使用Subversion進行版本控制的指南,我們建立你閱讀以下這本夢幻之書: 使用 Subversion 進
3、行版本管理.本文檔與TortoiseSVN和Subversion一樣,也是處于“正在開發”的狀態。如果你找到了錯誤之處,請向郵件列表報告,這樣我們就可以更新它。日常使用指南(DUG)中的一些屏幕截圖也許不符合當前軟件中的情況。請您原諒我們。畢竟我們只是用業余的時間在制作TortoiseSVN 。· 你應該已經安裝了TortoiseSVN。· 你應該熟悉版本控制系統。· 你應該知道Subversion的基礎。· 你應該已經建立了一個服務器并且可以訪問Subversion庫。開始圖標重載圖 5.1. 顯示重載圖標的資源管理器Tortois
4、eSVN最直觀的功能之一就是圖標重載,重載的圖標顯示在你的工作復本文件上。你一眼就可以知道文件被修改過了。參考“圖標重載”一節學習不同的重載圖標所表示的意義。右鍵菜單圖 5.2. 版本控制下一個目錄的右鍵菜單所有的TortoiseSVN命令都是通過windows資源管理器的右鍵菜單執行。右鍵點擊一個文件或者文件夾,大多數菜單項都能夠直接顯示。一個命令是否顯示取決于這個文件或文件夾或者它們的父文件夾是否受版本控制,你也可以將TortoiseSVN的菜單作為資源管理器菜單的一部分。在某些情況下,你可能看到多個TortoiseSVN條目。這不是BUG!圖 5.3.
5、60;在一個版本控制的文件夾下資源管理器文件菜單中的快捷方式。本示例是在一個受控文件夾下的某個未受控的快捷方式, 在資源管理器的文件菜單下有三個TortoiseSVN條目。一個是受控文件夾本身的,一個是快捷方式本身的,第三個是快捷方式所指向的對象。為了幫助你區分它們,菜單條目的圖標的右下角有標志,表明是文件、快捷方式、文件夾或是選中了多項。拖放圖 5.4. 版本控制下的一個目錄的右鍵拖拽菜單在工作副本里右鍵拖拽文件或目錄到新的位置,或者右鍵拖拽一個非版本控制的文件或文件夾到一個版本控制目錄下的時候,右鍵菜單還能夠出現其他的命令。常用快捷方式一些常見的操作與Windows的快
6、捷鍵是一樣的,但沒有出現在按鈕或是菜單中。如果你找不到一些顯而易見的操作,比如刷新視圖,請參考以下內容。 F1 當然是幫助。F5 刷新當前視圖。這也許是單鍵命令中唯一一個最常用的了。比如. 在資源瀏覽器中,這個鍵可以刷新工作復本中的圖標重載。在提交對話框中,它可以重新掃描查找哪些是需要提交的。在版本日志對話框中,可以重新聯系版本庫以檢查更多的最近修改情況。Ctrl-A 全選。可用于在得到一個錯誤消息并想要復制粘貼到電子郵件時。使用Ctrl-A to選擇錯誤錯誤,然后.Ctrl-C . 復制選中的文本。認證如果要連接的版本庫需要口令,一個認證對話框就會顯示出來。圖 5.5.
7、認證對話框輸入你的用戶名和口令。那個選擇框能讓TortoiseSVN在Subversion的缺省路徑下$APPDATASubversionauth的三個子目錄里保存認證信息: · svn.simple文件里包含了基本認證方式所需要的認證信息(用戶名/口令)。· 文件里包含了SSL服務器證書。· svn.username文件里包含了用戶名認證的認證信息(不需要提供密碼)。每個文件對應一個要連接的服務器。文件是純文本格式,因此可以用文本編輯器查看每個文件是應用于哪個服務器的。如果希望Subversion和TortoiseSVN忘記某個服務器的憑證信息,只需刪除這個服務
8、器的對應文件即可。檢出工作副本為了得到一個工作副本,需要進行從版本庫檢出的操作。在Windows資源管理器里選擇一個存放工作副本的目錄。右鍵點擊彈出右鍵菜單,選擇TortoiseSVN檢出命令。然后就會看到下面的對話框: 圖 5.7. 檢出對話框如果輸入一個并不存在的目錄名,那么這個名字的目錄就會被創建出來。重要你應該只檢出到一個空的目錄。如果你要將你的源代碼樹檢出到與你導入它們時相同的目錄,Subversion會給出一個錯誤信息它不會用已受控的文件覆蓋已經存在的但未受控的文件。你必須檢出到一個不同的目錄或是先將已經存在的源代碼樹刪除。如果你只希望檢出最頂層的文件夾而忽略子
9、文件夾,請選中只檢出頂層文件夾復選框。如果項目含有外部項目的引用,而這個引用你不希望同時檢出,請選中忽略外部的復選框。重要如果這兩個選項的任何一個選中了,你應該使用TortoiseSVN更新至版本.來更新你的工作復本而不是使用TortoiseSVN更新。標準的更新將會包含所有的子文件夾和外部引用。強烈建議你只檢出trunk的那部分目錄樹。如果你在URL中指定了目錄樹的父路徑,你的硬盤有可能被塞滿,因為你將會得到整個版本庫樹的復本,包括項目所有的分支和標簽(tag)!讓你的修改進入版本庫將你對工作復本的修改發送給版本庫,稱為提交修改。但在你提交之前要確保你的工作副本是最新的。你可以直接使用Tor
10、toiseSVN更新,或者,你可以先使用TortoiseSVN檢查修改看看哪些文件在本地或是服務器上已經有了改動。如果你的工作復本是最新的,并且沒有沖突,你就已經為提交做好準備了,選擇你要提交的文件和/或文件夾,然后TortoiseSVN提交. 圖 5.8. 提交對話框提交對話框將顯示每個被改動過的文件,包括新增的、刪除的和未受控的文件。如果你不想改動被提交,只要將該文件的復選框的勾去掉就可以了。如果你要加入未受控的文件,只要勾選該文件把它加入提交列表就可以了。那些被切換(switched)到不同版本庫路徑的項也用(s)標記來表示。當工作在分支上的時候你可能切換到某處,然后
11、忘記切換回主干。這是你的警告信號!提交文件還是文件夾?當你提交文件時,提交對話框只顯示你所提中的文件。當你提交文件夾中,提交對話框將自動選擇有改動的文件。如果你忘記了你建立的一個新文件,提交文件夾將使你可以找到它。提交一個文件夾并不意味著每個文件都被標識為修改過的,它僅僅是通過幫你多做些事從而讓你的生活更滋潤一點。如果你修改的文件是使用了svn:externals從別的版本庫中包含進來的,那么這些改動不會被自動提交。在文件列表下方的警告符號會告訴你是否出現了這種狀況,工具提示(tooltip)提示了外部文件必須要分開提交。在提交對話框中有很多未受控的文件如果你認為TSVN提交對話框顯示了太多的
12、未受控文件(如編譯器產生的文件或是編輯器的備份文件),有幾種方法可以處理這種情況。你可以: · 將文件(或是通配符擴展)加入到設置頁的排除列表中。這對每個工作復本都起作用。· 使用TortoiseSVN加入忽略列表,將文件加入svn:ignore列表。 這只對你設置了svn:ignore屬性的路徑有效。使用SVN屬性對話框,你可以改變一個目錄的svn:ignore屬性。參考“忽略文件和目錄”一節 獲得更多的信息。在提交對話框中雙擊任何修改過的文件,將運行外部diff工具顯示你作的改動。上下文菜單(右鍵菜單)將給你更多的選項,請看屏幕截圖。你可以從這里將文件拖動到另一個應用程
13、序中,如文本編輯器或是IDE。在底部面板中顯示的列是可定制的。如果你右擊任何一列的頭部,你就會看到一個上下文菜單,允許你選擇哪一列要顯示。還可以在鼠標移動到列邊界時通過拖動手把來改變列的寬度。這些定制的內容都會被保留下來,下一次你會見到相同的列。拖放你可以將文件從別的地方拖動到提交對話框,只要工作復本是由同一版本庫中檢出就可以了。比如,你有一個很大的工作復本,要開好幾個資源管理器窗口來查看層次中不同的文件夾。如果你要避免從頂級文件夾提交(冗長而緩慢的文件夾改動檢查),你可以打開一個文件夾的提交對話框,然后將別的窗口中的項拖進去,可樣就可以一次提交它們了。你可以將未版本控制的文件拖到工作副本提交
14、對話框中,它們就會被自動增加。修復外部改名有時候文件不是用Subversion改名,于是它們在文件列表中作為丟失和未版本控制的文件出現。為了避免丟失歷史,你需要通知Subversion。簡單的選擇老名稱(丟失)和新名稱(未版本控制),然后使用右鍵菜單修復移動來指明這兩個文件是改名關系。確保輸入描述你所提交的修改內容的日志信息。這可以幫你回顧做了什么,什么時候做的。信息的內容可長可短,許多項目規定了要包含的內容、使用的語言甚至是嚴格的格式。你可以使用與電子郵件相似的約定,簡單格式化日志消息。如果對文本采用這些樣式,使用*文本*表示粗體,_文本_表示下劃線,文本表示斜體。圖 5.9.
15、160;提交對話框的拼寫檢查器TortoiseSVN包含了一個拼寫檢查器幫助你正確地書寫日志信息。對任何錯誤拼寫的詞都高亮顯示。使用右鍵菜單可以獲得修改建議。當然它不會知道所有的技術術語,所以有時一些拼寫正確的詞會被當作錯誤。但不用擔心,你可以使用右鍵菜單將它們加入你的個人字典中。日志信息窗口還包含一個文件名和函數自動完成的功能。這使用了正則表達式來從你提交的(文本)文件中提取類和函數名,當然包括文件名本身。如果你現在敲入的一個詞與列表中的任意一個匹配(在你輸入至少3個字符后),就會出現一個下拉列表,允許你選擇完整的名字。與TortoiseSVN一起提供的正則表達式位于TortoiseSVN安
16、裝路徑的bin文件夾中。你可以定義自己的正則式并將其存放在%APPDATA%TortoiseSVNautolist.txt。當然你自定義的自動列表不會在升級安裝的時候被覆蓋。如果你不熟悉正則表達式,請參考在線文件和教程: .在按下OK之后,會出現一個對話框顯示提交的進度。圖 5.10. 顯示提交進度的進度對話框進度對話框使用顏色代碼來高亮顯示不同的提交行為。藍色 提交一個修改。紫色 提交一個新增項。深紅 提交一個刪除或是替換。黑色 所有其他項。這是默認的配色方案,但你可以通過設置對話框來定制這些顏色。用來自別人的修改更新你的工作復本圖 5.11. 已經完
17、成更新的進度對話框你應該定期地確保別人作的修改與你的工作復本可以整合。從服務器上獲取改動到你本地復本的過程稱為更新。更新可以針對一個文件、幾個選中的文件或是遞歸整個目錄層次。要進行更新操作,請選擇要更新文件和/或路徑,右擊選擇右鍵菜單中的TortoiseSVN更新。會彈出一個窗口顯示更新的進度。別人作的修改將合并到你的文件中,你所做的修改會被保留。版本庫受更新操作的影響。進度對話框使用顏色代碼來高亮不同的更新行為紫色 新項已經增加到你的工作副本中。深紅 你的工作副本中刪除了多余項,或是你的工作副本中丟失的項被替換。綠色 版本庫中的修改與你的本地修改成功合并。亮紅 來自版本庫的修改在與本地修改合
18、并時出現了沖突,需要你解決。黑色 你WC中的沒有改動的項被來自版本庫中新版本所更新。這是默認的配色方案,但你可以通過設置對話框來定制這些顏色。參考“TortoiseSVN 顏色設置”一節獲得詳情。如果你在更新中遇到了沖突(這是由于別人與你修改了同一個文件的同一行代碼,并且兩者的修改不匹配),對話框中將沖突顯示為紅色,你可以雙擊這些行啟動外部合并工具來解決沖突。當更新完成后,進度對話框在文件列表下面顯示匯總信息,多少項更新,增加,刪除,沖突等。匯總信息可以使用CTRL+C復制到剪貼板。標準的更新命令沒有選項,僅僅是把你的工作復本更新到版本庫中的最新版本,這也是最常用的情況。如果你要對更新過程進行
19、更多的控制,就要使用TortoiseSVN更新到版本.。這個操作允許你更新工作復本到一個指定的版本,不僅僅是最新的。假設你的工作復本是在版本100,但你要回顧一下版本50是什么樣的那你只要簡單地更新到版本50就可以了。在同一個對話框中你還可以選擇不遞歸更新當前文件夾(就是不更新所有的子文件夾)并且可以選擇是否在更新中忽略外部的項目(比如具有屬性 svn:externals的被引用的項目).小心如果你把一個文件或是文件夾更新到某個特定的版本,你不應該對這些文件做修改。你在提交的時候會得到一個已經過期的錯誤消息!如果你要取消修改,從一個早前的版本重新開始,你可以通過版本日志對話框回滾到之前的版本。
20、請看“回滾版本庫里的版本”一節以獲得詳情和其他方法。更新到版本在你偶爾要看看你的項目在早前某時刻是什么樣子的時候很有用。但通常,更新單個文件到之前的版本不是一個好主意,因為這會使你的工作復本處于不一致的狀態。如果你要更新的文件已經改了名,你可能甚至發現該文件從你的工作復本中消失了,因為早期的版本中不存在這個名字的文件。如果你只是簡單地想要一個舊版本文件的本地復本,最好是在該文件的日志對話框中使用右鍵菜單另存版本為.命令。多文件/文件夾如果你在資源管理器中選擇了多文件和文件夾,然后選擇更新,這些文件/文件夾一個接一個的被更新。TortoiseSVN確保所有的來自同一版本庫的文件/文件夾被更新到同
21、一個版本!即使在更新過程中發生了另一個提交。本地文件已經存在有時在你試圖更新的時候,更新失敗,提示信息說已經有一個同名的本地文件。通常發生在Subversion試圖檢出一個新增的受控文件時,發現一個未受控的同名文件已經在工作路徑中存在。Subversion絕不會覆蓋一個未受控的文件因為它有可能有你需要的東西,卻碰匚與另一個開發者新提交的文件重名了。如果你得到這個錯誤信息,解決的方法就是把本地的未受控文件重命名。在完成更新之后,你再檢查被重命名的文件是不是還需要。如果你一直得到錯誤,使用TortoiseSVN檢查修改來列出所有有問題的文件。這樣你可以一次性解決它們。解決沖突有時當你從版本庫中更新
22、你的文件時,會有沖突。沖突出現的原因是兩個開發人員修改了文件中相同的幾行。由于Subversion不知道你的項目的具體情況,它把解決沖突的工作留給了開發人員。一旦出現沖突,你就應該打開有問題的文件,查找以字符串<<<<<<<開頭的行。有沖突的區域用如下的方式標記: <<<<<<< filename 你的修改= 來自版本庫中的代碼>>>>>>> revision對于每個沖突的文件Subversion在你的目錄下放置了三個文件: filename.ext.mine 這是你的
23、文件,在你更新你的工作復本之前存在于你的的工作復本中也就是說,沒有沖突標志。這個文件除了你的最新修改外沒有別的東西。filename.ext.rOLDREV 這是在你更新你的工作復本之前的基礎版本(BASE revision)文件。也就是說,它是在你做最后修改之前所檢出的文件。filename.ext.rNEWREV 這個文件是當你更新你的工作復本時,你的Subversion客戶端從服務器接收到的。這個文件對應與版本庫中的最新版本。你可以通過TortoiseSVN編輯沖突運行外部合并工具/沖突編輯器,或者你可以使用任何別的編輯器手動解決沖突。你需要沖定哪些代碼是需要的,做一些必要的修改然后保存
24、。然后,執行命令TortoiseSVN已解決并提交人的修改到版本庫。需要注意的是已解決命令并不是真正的解決了沖突,它只是刪除了和filename.ext.r*兩個文件,允許你提交修改。如果你的二進制文件有沖突,Subversion不會試圖合并文件。本地文件保持不變(完全是你最后修改時的樣子),但你會看到filename.ext.r*文件。如果你要撤消你的修改,保留版本庫中的版本,請使用還原(Revert)命令。如果你要保持你的版本覆蓋版本庫中的版本,使用已解決命令,然后提交你的版本。你可以右擊父文件夾,選擇TortoiseSVN已解決.,使用“已解決”命令來解決多個文件。這個操作會出現一個對話
25、框,列出文件夾下所有有沖突的文件,你可以選擇將哪些標記成已解決。獲得狀態信息當你在你的工作復本上工作時,你時常需要知道哪些文件你已經修改/增加/刪除或改名了,或者甚至是哪個文件已經被其他人修改并提交了。圖標重載圖 5.12. 顯示重載圖標的資源管理器現在你已經從Subversion版本庫中檢出了一份工作復本,你可以在資源管理器中看一下這些文件的圖標有什么變化。這也正是TortoiseSVN這么流行的原因之一。TortoiseSVN加入了被稱為重載圖標的功能重載了原始的文件圖標。根據文件的Subversion狀態的不同,重載的圖標也不同。一個新檢出的工作復本使用綠色的對勾做重
26、載。表示Subversion狀態正常.在你開始編輯一個文件后,狀態就變成了已修改,而圖標重載變成了紅色感嘆號。通過這種方式,你可以很容易地看出哪些文件從你上次更新工作復本后被修改過,需要被提交。如果在提交的過程中出現了沖突圖標變成黃色感嘆號。如果你給一個文件設置了svn:needs-lock屬性,Subversion會讓此文件只讀,直到你獲得文件鎖。只讀文件具有這個重載圖標來表示你必須在編輯之前先得到一個鎖。如果你擁有了一個文件的鎖,并且Subversion狀態是正常,這個重載圖標就提醒你如果不使用該文件的話應該釋放鎖,允許別人提交對該文件的修改。這個圖標表示當前文件夾下的某些文件或文件夾已經
27、被計劃從版本控制中刪除,或是該文件夾下某個受控的文件丟失了。加號告訴你有一個文件或是目錄已經被計劃加入版本控制。與TortoiseCVS (一個集成的CVS shell)不同,對于未受控的文件沒有圖標重載。這么做是因為圖標重載的數量受到系統的限制,應該要節約使用。事實上,你會發現并不是所有的圖標被使用在你的系統上。這是由于Windows限制圖標重載不能超過15個。Windows自己用了4個,剩下11個可被別的應用程序使用。如果你同時使用了TortoiseCVS,就不有足夠的空位了,所以TortoiseSVN希望成為一個“良好市民(TM)”,限制自身的使用,為別的應用留下機會。· 正常
28、, 已修改和沖突總是被載入,并可見。· 已刪除只要有可能的就載入,但如果沒有足夠的空位,就使用已修改來代替。· 只讀只要有可能就載入,但如果沒有足夠的空位就使用正常來代替。· 已鎖定只在少于13個重載已經載入的情況下才加載,如果不滿足這個條件就使用正常來代替。· 已增加只在少于14個重載已經載入的情況下才加載,如果不滿足這個條件就使用已修改來代替在 Windows 資源管理器中的 TortoiseSVN 列在Windows資源管理器的詳細信息視圖中,附加列中可以顯示與圖標重載所表達相同的信息(還可以顯示更多其他信息)。右鍵點擊列頭,從出現的右鍵菜單中選擇
29、其他.。出現一個對話框,你可以指定在“詳細信息視圖”中要顯示的列及其順序。滾動對話框中的條目直到SVN開頭的條目出現。在你要顯示的條目上打勾,然后點擊OK按扭關閉對話框。你選擇的列就會出現在當前顯示的列的右邊。你可以通過拖放它們來達到重新排序或是修改列寬度的目的。提示如果你想要當前的布局對你所有的工作復本都有效,你可以考慮把它設成默認視圖。本地與遠程狀態圖 5.13. 檢查所作的修改通常知道你修改了哪些文件以及哪些文件已經由另人修改并提交了是很有用的。這就是命令TortoiseSVNCheck For Modifications. 的用武之地了。這個對話框顯示了所有你的工作
30、復本中進行了任何形式的修改的的文件,也包括了當前存在的未受控的文件。如果你點擊檢查版本庫,那你還可以看到版本庫里的改動。這樣,你就可以在提交之前檢查是否有存在沖突的可能。你也可以從版本庫中更新選中的文件而用不著更新整個文件夾。對話框使用顏色代碼來高亮顯示狀態。這是默認的配色方案,但你可以通過設置對話框來定制這些顏色。參考“TortoiseSVN 顏色設置”一節獲得詳情。那些被切換(switched)到不同版本庫路徑的項也用(s)標記來表示。當工作在分支上的時候你可能切換到某處,然后忘記切換回主干。這是你的警告信號!在對話框的上下文菜單中你可以顯示改變的差異。使用 上下文菜單與基礎版本比較檢查你
31、所作的本地修改。使用上下文菜單使用標準差異格式顯示差異檢查版本庫中別人作的修改。你還可以對單個文件進行還原(revert)。如果你不小心刪除了一個文件,在對話框中會顯示為丟失你可以使用還原來恢復它。可以使用郵件菜單刪除將未版本控制的或忽略的文件丟到垃圾箱。如果你向徹底刪除(不使用垃圾箱),在點擊刪除時,請按著Shift鍵。如果你要查詢一個文件的詳細情況,你可以把它從這里拖到另一個應用程序,比如一個文本編輯器或是IDE中。這些列是可定制的。如果你右擊任何一列的頭部,你就會看到一個上下文菜單,允許你選擇哪一列要顯示。還可以在鼠標移動到列邊界時通過拖動把手來改變列的寬度。這些定制的內容都會被保留下來
32、,下一次你會見到相同的頭部。提示如果你需要工作目錄的全面視圖,也就是所有文件和文件夾都同時顯示,以便方便的使用檢查修改對話框。只要選擇現實未修改文件檢查欄,顯示工作目錄中的所有文件即可。修復外部改名有時候文件不是用Subversion改名,于是它們在文件列表中作為丟失和未版本控制的文件出現。為了避免丟失歷史,你需要通知Subversion。簡單的選擇老名稱(丟失)和新名稱(未版本控制),然后使用右鍵菜單修復移動來指明這兩個文件是改名關系。查看差別通常你想要深入文件中了解你修改了什么。要達到這個目的,你可以選中這個文件,然后在TortoiseSVN的右鍵菜單中選擇比較。這個操作會啟動一個外部的差
33、別檢查程序,由它來比較當前文件與上一次檢出或更新后的原始的復本(基礎版本)。提示即使你不是在一個工作復本中工作或者你有多個版本的文件,你都可以按以下方法來進行比較: 選擇你要比較的兩個文件(比如,你可以使用Ctrl 鍵加鼠標),然后從TortoiseSVN的右鍵菜單中選擇比較。最后一個被鼠標點中的文件(具有焦點的文件,比如有虛線框的文件具有焦點),將作為被比較文件的后一個。版本日志對話框對于每次進行修改和提交,你應該有針對性地留下日志信息。這樣,你就可以在以后方便地看到你都做了什么,為什么這么做。當然這么做還是你擁有了開發過程的詳細日志。版本日志對話框可以獲取所有的日志信息,并將其顯示出來。對
34、話框的視圖分成3個面板。· 最上方的面板顯示了版本的列表。這其中包含了日期和時間,以及提交的用戶和日志信息開頭的部分內容。以藍色顯示的行表示某些內容被復制到該開發版本中(可能是從一個分支中復制而來)。· 中間的面板顯示了被選中的版本的完整的日志信息。· 最下面的面板顯示了被選中版本中都對哪里文件和文件夾進行了修改。當然,對話框的作用不止于此它提供了右鍵菜單,通過它可以獲取更多的項目歷史信息。調用版本日志對話框圖 5.14. 版本日志對話框有幾種途徑可以調出日志對話框: · 從右鍵菜單的TortoiseSVN子菜單中調用· 從
35、屬性頁中調用· 在更新結束后,從進度對話框中調用。在這里,日志對話框只顯示你上一次更新以來的版本變化。獲得更多信息圖 5.15. 版本日志對話框的頂部面板的右鍵菜單日志對話框的頂底面板右鍵菜單功能如下: · 將你的工作版本與選中的版本進行比較。默認的比較工具是與TortoiseSNV一同發布的TortoiseMerge,如果日志對話框是針對文件夾的,那么就會出現一個被修改的文件的列表,你可以單獨地查看每個文件所做的修改。· 將選中的版本作為單一差異文件(GNU補丁格式)查看。相對于可視化的文件比較器,它更難閱讀,但它將所有的變化顯示在一個格式更
36、為緊湊的文件中。· 比較選擇的版本和以前版本。它與你比較工作副本類似。· 評審選中的版本,和你的工作基礎文件,使用可視化差異工具顯示結果。參閱 “追溯不同點”一節 以獲得更多信息。· 追溯選中的版本和舊版本,用可視化差異工具比較結果。· 將選中的版本保存成文件,這樣你就獲得了該文件的一個舊的版本。這個選項只在你查看一個文件的日志時才可用,它只保存那一個文件的一個版本。· 用默認查看器,或用你指定的程序,打開選中文件。這個選項僅在存取文件日志是可用。· 打開版本庫瀏覽器,可以查看選中的目錄。這個選項只在你查看一個目錄的日志時可用。
37、83; 從選中的版本建立一個分支/標記。這個選項很有用。比如: 如果你提交了某些你不想使其進入發行版的修改,卻忘記了為此建立標記。· 將你的工作復本更新到選中的版本。如果你想要你的工作復本折返到過去的某個時間,那這個功能就很好用。你最好是更新工作復本的整個目錄而不是單一某個文件,因為如果只更新某個文件,你的工作復本就可能不一致,從而導致你無法提交任何修改。· 還原選中版本中所做的變更。還原的內容只在你的工作復本中,這個操作完全不會影響版本庫!要注意的是,這個操作僅僅恢復該版本中的修改(譯注: 就是將你選中的那個版本中的修改還原,而在那之后的修改,包括你在工作復本中的新改動依
38、然會被保留,如不正確請聯系liuheqi)。不是將整個文件替換成選中的那個版本。(譯注: 本段對菜單中的“復原自此版本以來的變更(Revert changes from this revision)”,按實際操作的結果來看,中文菜單應翻譯成“復原此版本的變更”比較合適,如不正確請聯系liuheqi)· 還原到某個早前的版本。如果你進行了多個修改,然后決定要返回到版本N中的模樣,你就可以使用這個命令。當然,返回的東西都只在你的工作復本中,在你提交之前,并不會影響版本庫。注意,這將會還原從那個版本以來的所有變更,使用選中的版本來替換文件/文件夾。(譯注: 在實際使用中發現并不是簡單的替換
39、,如果你在當前工作復本中所做的修改不涉及到被選中版本以來的變更內容,那么你的修改會與版本N進行合并,否則這個操作會產生一個沖突。這段對應菜單中的“復原到此版本(Revert to this revision)”。如果不正確,請聯系liuheqi)· 檢出你選擇的目錄的選中版本,創建一個全新副本。它彈出對話框,讓你確認URL和版本,并且選擇保存的位置。· 導出選擇的文件/目錄的選中版本。它彈出對話框,讓你確認URL和版本,選擇導出位置。· 編輯之前提交時的日志信息或是作者。請閱讀“修改日志消息和作者”一節,了解其工作原理。· 將選中版本的詳細日志信息復制到
40、剪貼板。它會復制版本號,作者,日期,日志信息,以及每個版本的改變項目列表。· 在日志信息中搜索你輸入的的文字。這個操作搜索日志信息,也搜索由Subversion建立的提交行為總結(最底部的面板中的內容)。搜索大小寫無關。圖 5.16. 選種兩個版本的頂部面板的右鍵菜單如果你使用Ctrl組合鍵一次選中了兩個版本,右鍵菜單有所改變: · 使用可視化差異比較工作比較兩個選中的版本。默認的比較工作是與TortoiseSVN一起提供的TortoiseMerge。如果你是針對文件夾選中這個選項,則會彈出一個對話框列出修改過的文件,提供了更多的差異比較選項。請參考比較
41、版本對話框獲得詳情: “比較文件夾”一節。· 評審兩個版本,并使用差異比較工作比較結果。詳情請參考“追溯不同點”一節 。· 使用單一差異文件顯示差異。這對文件和文件夾都有效。· 如前所述將日志消息復制到剪貼板。· 如前所述可以搜索日志消息。如果你用Ctrl或Shift組合鍵選擇了多個連續的版本,右鍵菜單將有一個選項,可以讓你還原這些版本中的修改。這是一次性還原多個版本中修改的最簡方法。圖 5.17. 日志對話框的底部面板的右鍵菜單日志對話框的底部面板也有右鍵菜單,你可以: · 顯示選中版本中的選中文件的差異。這個操作只對顯示
42、為已修改的文件有效。· 評審選中文件的選中版本與前一個版本,使用可視化差異工具顯示差異。詳情請參閱“追溯不同點”一節 。· 用默認查看器或你指定的程序打開選中文件的選中版本。· 還原選中文件的選中版本所作的變更。· 查看選中項的Subversion屬性。· 顯示選中的單個文件的版本日志。· 將選中的版本保存成文件,你可以得到一份該文件的舊版本。獲取更多的日志信息日志對話框并不總是顯示所有曾經的修改,日志不顯示的可能原因如下: · 對于一個大的庫,可能存在幾百上千個改動,全部得到它們可能要花上很久的時間。通常你只關心最近的修改
43、。默認情況下,日志消息限制只獲取100條,但你可以在TortoiseSVN設置中修改這個值 (“TortoiseSVN的設置”一節),· 當復制/重命名時停止復選框被選中時, 如果選中的文件或文件夾是從版本庫中的其他地方復制而來的,顯示日志將停止在該點。這對于查看分支(或標記)時很有用,因為它會停在分支的根節點上,可以快速查看該分支的修改。一般情況下你可以不要勾選它。 TortoiseSVN會記住它的狀態,以改進性能。如果你在從合并對話框中調用的顯示日志對話框,那么這個復選框默認將總是選中的。這是由于合并通常都是查看分支中的修改, 獲取分支的根之前的日志在這種情況下通常沒有什么意義。
44、注意,Subversion當前是用復制/刪除來實現重命名的,所以重命名一個文件或文件夾也會造成日志顯示停止(如果選擇了復制/重命名時停止)在該點。如果你要查看更多的日志信息,點擊下100個,以獲取下100個日志信息。如果有需要你可以多次重復這個操作。這個按鈕旁邊的是一個多功能按鈕,它可以記住上一次你要它進行的操作。點擊它上面的箭頭,可以看到更多的選項。如果你要查詢指定范圍的版本,使用顯示范圍 .。這會出現一個對話框,要求輸入開始和結束的版本。如果你要查詢從最新版本直到版本1的所有的日志消息,使用顯示所有。修改日志消息和作者有時你可能想要修改你曾經輸入的日志消息,也許是因為有拼寫錯誤或是你想改進
45、消息內容,或是其他別的原因。偶爾你還想修改提交者,可能是你忘了設置認證等原因。Subversion允許你在任何時候修改日志消息和作者。但這種改變不可還原(不在版本控制之下),正因如此,這些功能默認是不可用的,如果要開啟它,必須設置一個pre-revprop-change鉤子。具體如何做,請參考使用 Subversion 進行版本管理的相關章節鉤子腳本。在Windows機器上實現鉤子的注意事項請閱讀“鉤子腳本”一節。一旦你按需要為服務器設置了鉤子,你就可以使用日志對話框頂部面板的右鍵菜單來修改任意版本的作者和日志信息了。警告由于Subversion的版本屬性不受版本控制,對于這種屬性的修改(如
46、svn:log提交信息屬性將永久覆蓋該屬性之前的值。過濾日志信息如果你只想要顯示上千條日志中你所感興趣的日志,你可以使用日志對話框頂部的過濾器控件。開始和結束日期控件允許你查看指定日期范圍內的輸出。查找框幫你查出含有指定內容的信息。要注意的是,這些過濾器只對已經獲取的信息有效。它們并不從版本庫中下載信息。你還可以使用隱藏無關的修改路徑 復選框來過濾底部面板中的路徑名稱。所謂相關路徑,是指那些與日志相關的路徑。對于一個文件夾的日志來說,相關路徑就是該文件夾以其下的所有內容。對于一個文件的日志來說,相關路徑就是與該文件的路徑。該復選框是3態的: 可以顯示所有的路徑,將無關的內容灰色顯示,或是完全隱
47、藏無關路徑。統計信息統計按扭,可以顯示一些你感興趣的關于日志對話框中版本的信息。可以顯示已經有幾個作者做了工作,他們各提交了幾次,按周的統計,等等。現在,你可以發現一個大概情況: 誰最勤快,誰偷懶。;-)統計頁此頁可以提供所有你可以想到的數據,特別是周期和包括的版本數,還有一些最大/最小/平均值。作者提交次數統計頁圖 5.18. 作者提交次數統計柱狀圖此圖用簡單柱狀圖、疊加柱狀圖或餅圖顯示了哪些作者已經在項目中活躍了。其中有幾個主要作者和許多輔助的作者。由于太小的部分會導致圖形難于閱讀,所以在底部有個滑動條,可以設置一個范圍(占所有提交的百分比),在這個范圍下的所有行為都整
48、合成其他類。按日期提交統計頁圖 5.19. 按日期提交統計圖本頁圖示了以提交次數和作者作為條件的項目行為統計。這里可以看出項目什么時候有人在工作,以及什么人在什么時候進行了工作。如果有多個作者,你就會在圖中看到多行。有兩種視圖可用正常,在這里,每個作者的行為都相對于基線;疊加,在這里每個作者的行為是相對于他的下面那條線。后一種視圖避免了線的交叉,對于圖來說更明了,但對查看一個作者的輸出比較不直觀。默認統計是區別大小寫的,也就是說用戶PeterEgan與PeteRegan被認為是兩個不同的作者。但在多數時候用戶名并不區別大小寫,有時會存在不一致,所以你可能希望PeterEga
49、n和PeteRegan能被當成是同一個作者。使用作者不區分大小寫復選框來控制。注意,統計只包括了日志對話框中的那段時期。如果日志對話框中只顯示一個版本,那么統計就沒有什么意義了。查看差異在項目開發中,有一個很常用的要求就是查看更改。可能是你要求查看同一文件的兩個版本之間的差異,或者是查看兩個獨立的文件的差異。TortoiseSVN自帶了一個工具叫TortoiseMerge用來查看文本文件的差異。也有一個叫TortoiseIDiff的工具來比較圖像文件的差異。當然,你可以根據你自己的喜好來選擇比較差異的工具。文件差異本地更改 如果你想看到你的本地副本有哪些更加,只用在資源管理器中右鍵菜單下選To
50、rtoiseSVN比較差異。與另外一個分支/標簽之間的差異 如果你想查看主干程序(假如你在分支上開發)有哪些修改或者是某一分支(假如你在主干上開發)有哪些修改,你可以使用右鍵菜單。在你點擊文件的同時按住Shift鍵,然后選擇TortoiseSVNURL比較。在彈出的對話框中,將特別顯示將與你本地版本做比較的版本的URL地址。你還可以使用版本庫瀏覽器,選擇兩個目錄樹比較,也許是兩個標記,或者是分支/標記和最新版本。郵件菜單允許你使用比較版本來比較它們。閱讀“比較文件夾”一節以便獲得更多信息。與歷史版本的比較差異 如果你想查看某一特定版本與本地副本之間的差異,使用顯示日志對話框,選擇要比較的版本,
51、然后選擇在右鍵菜單中選與本地副本比較差異兩個歷史版本的比較 如果你要查看任意已提交的兩個歷史版本之間的差異,在版本日志對話框中選擇你要比較的兩個版本(一般使用 Ctrl-更改),然后在右鍵菜單中選比較版本差異如果你在文件夾的版本日志中這樣做,就會出現一個比較版本對話框,顯示此文件夾的文件修改列表。閱讀“比較文件夾”一節以便獲得更多信息。提交所有修改 如果你要在一個視窗中查看某一版本的所有更改,你可以使用統一顯示所有比較 (GNU 片段整理)。它將顯示所有修改中的部分內容。它很難顯示一個全面清晰的比較,但是會將所有更改都集中顯示出來。在版本日志對話框中選擇某一版本,然后在右鍵菜單中選擇統一顯示所
52、有比較。文件差異 如果你要查看兩個不同文件之間的差異,你可以直接在資源管理器中選擇這兩個文件(一般使用 Ctrl-modifier),然后右鍵菜單中選TortoiseSVN比較差異。WC文件/文件夾與URL之間的比較差異 如果你要查看你本地副本中的任一文件與版本庫中任一文件之間差異,譴責信息之間的比較差異 如果你要查看的不僅是比較差異而且包括修改該版本的作者,版本號和日期,你可以在版本日志對話框中綜合比較差異和譴責信息。這里有更多詳細介紹“追溯不同點”一節。比較文件夾差異 TortoiseSVN 自帶的內置工具不支持查看多級目錄之間的差異,但你可以使用支持該功能的外置工具來替代。在這里 “其他
53、的比較/合并工具”一節我們可以介紹一些我們使用過的工具。比較文件夾圖 5.20. 修訂版本版本比較對話框當你在版本庫瀏覽器中選擇了兩個樹,或者在日志對話框中選擇了一個文件夾的兩個版本,就可以使用上下文菜單比較版本。這個對話框顯示一個所有已經修改的文件列表,允許你使用郵件菜單單獨的比較或回溯它們。你也可以將已經修改的文件列表導出到一個文本文件中,或者將修改的文件導出到一個目錄。這個操作只在選擇的文件上工作,所以你需要選擇感興趣的文件 - 通常是所有文件。如果你需要導出文件列表和和動作(修改,增加,刪除),你可以使用快捷鍵Ctrl-A選擇所有項,用Ctrl-C將詳細列表復制到剪
54、貼板。頂部的按鈕允許你改變比較的方向。你可以顯示從A到B的修改,或者如果你喜歡,顯示從B到A的修改。有版本數字的按鈕可以用來改變版本范圍。當你改變范圍時,兩個版本不同的項目列表會自動更新。使用 TortoiseIDiff 進行比較的圖像我們有許多有用的比較文本文件的工具,包括我們自帶的TortoiseMerge,但是我們也需要查看圖像文件的更改。這就是我們設計TortoiseIDiff的原因。圖 5.21. 差異察看器截圖TortoiseSVN比較差異TortoiseIDiff可以顯示同種格式的圖像差異。一般情況下是左右對稱地顯示兩個圖像,但你也可以通過調整視圖滑動條轉變為
55、上下顯示的模式,如果你愿意,這里支持使用透明框進行圖像覆蓋的方式,在頂端的滑動條可以調整圖像之間的吻合程度(alpha blend),你也可以使用Ctrl-Shift-Wheel來調整這種程度。當然你也可以放大和縮小,或者拉伸圖像。你也可以簡單的通過左拖組合圖像。如果你選擇連接圖像,則被選擇(滑動條,鼠標)的兩個圖像就被關聯起來。在圖像信息框中顯示了圖像的基本信息,比如像素的大小,顏色的深度。如果覺得這個框礙眼可以選擇視圖圖像信息來隱藏它其他的比較/合并工具如果我們提供的這些工具不是你所需要的,可以嘗試使用一些其他開源的或者商業的軟件。每個人都有不同喜好,下面列表雖不完全,或許有些你也會認可的
56、: WinMerge WinMergeWinMerge也是一款很好的能處理目錄的開源軟件。Perforce Merge Perforce 是一款商業 RCS,但是你也可以免費下載到。可以從Perforce獲得更多信息。KDiff3 KDiff3也是一款能處理目錄的免費比較工具。你可以從here下載。ExamDiff ExamDiff Standard是免費軟件。它能處理文件但不能處理目錄。ExamDiff Pro是共享軟件,擁有一系列的功能包括目錄比較和編輯的能力。對于以上體驗,3.2及以上版本能處理二進制。你可以從PrestoSoft下載它們。Beyond Compare 和ExamDiff
57、 Pro一樣,這也是一款很不錯的共享軟件,同樣也能進行目錄比較和二進制處理。下載地址Scooter Software。Araxis Merge Araxis Merge是一款能對文件和文件夾進行比較和合并的商業軟件。它從三條比較路徑進行合并,而且在你修改的同時進行及時有效的鏈接。可以從這里下載Araxis。SciTE 這款文本編譯器在統一比較時提供語法顯示,讀起來更加容易。可以從這里下載Scintilla。Notepad2 Notepad2的設計旨在替代 Windows自帶的記事本的功能,它以開源編譯控制為基礎。在查看統一比較時,它能實現比Windows自帶的記事本更多功能。免費下載here。
58、添加新文件和目錄圖 5.22. 未受版本控制的文件之資源管理器上下文菜單如果在你的開發過程中你創建了新的文件或目錄,那么你需要把他們加入你的版本控制中。選擇那個文件或目錄并使用TortoiseSVN添加(Add).當你添加了指定的文件/目錄到版本控制系統之后,這個文件上會出現一個added標志,這意味著你得先提交你的工作副本使該文件/目錄對其他開發者來說成為有效的。添加一個文件/目錄不會not影響版本庫更多你也可以在已經版本控制的目錄上使用Add命令。那樣的話,添加對話框會顯示該版本控制目錄下所有未版本控制的文件。如果你有許多新文件需要一起添加的話,這是很有幫助的。你可以使用鼠標拖拽的方式從你的工作副本外部添加進文件。1. 選擇你要添加的文件2. 拖拽(right-drag)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人員管理學習報告
- 肺結核傳染病知識
- 院子出租整租協議書
- 預防夫妻出軌協議書
- app軟件轉讓協議書
- 鋸末承包合同協議書
- 車子出租代理協議書
- 酒店物品交接協議書
- 車輛短租合同協議書
- 養殖地租用合同協議書
- 第五版-FMEA培訓教材-新版
- 食品安全與日常飲食智慧樹知到期末考試答案章節答案2024年中國農業大學
- PE袋化學品安全技術說明書MSDS(聚乙烯塑膠袋)
- 簡明疼痛評估量表
- 七人學生小品《如此課堂》劇本臺詞手稿
- GB/T 31586.1-2015防護涂料體系對鋼結構的防腐蝕保護涂層附著力/內聚力(破壞強度)的評定和驗收準則第1部分:拉開法試驗
- 大壩安全監測培訓課件
- 高等數學上冊ppt課件完整版
- 電力建設熱工熱控作業指導書
- 甲醇及制氫裝置預試車方案
- 分子的立體構型
評論
0/150
提交評論