軟件是一系列按照特定順序組織的計算機數據和指令的集合。一般來講軟件被劃分為編程語言、系統軟件、應用軟件和介于這兩者之間的中間件。硬件是“計算機硬件”的簡稱。與“軟件”相對,電子計算機系統中所有實體部件和設備的統稱。 TortoiseSVN是一款常用的開源客戶端,不少從事編程開發工作的網友都在使用。今天,小編就為大家整理一下TortoiseSVN常見的16個使用問題,方便您在日常使用的過程中,遇到下列問題,可以及時的找到解決的方法,下面就一起來今天的TortoiseSVN使用教程吧! TortoiseSVN 1.9.2.26806 64位英文安裝版(點擊即可進入下載頁面) TortoiseSVN 1.9.2.26806 32位英文安裝版(點擊即可進入下載頁面)
TortoiseSVN TortoiseSVN常見的16個使用問題: 1、鼠標右鍵點擊文件時CPU占用100% 每次右鍵點擊文件,CPU飆升到100%(同時右鍵菜單被顯示。)如果從菜單中選擇某項,則CPU又恢復正常;如果在空白處點擊右鍵,CPU將不會有問題,到底是怎么回事? XP包含了一個已知的bug,當你在特定的配置文件下訪問上下文菜單會引起cpu占用上升到100%。這個bug會使文件復制暫停,使網絡連接緩慢,流媒體(聲音,視頻)扭曲。 為了工作在包含這個 bug 的環境下,你需要通過以下操作禁止圖形界面的傳輸效果: 控制面板-》顯示 選擇外表欄 點擊效果,然后清空“為菜單和工具提示使用以下過渡效果”欄 點擊確定關閉所有的對話框。 另一種解決方法是在點擊右鍵顯示上下文菜單前點擊一次左鍵。 2、是否可以創建一個本地的版本庫到網絡文件夾? 不能創建 Berkeley DB 版本庫到共享的網絡地址! BDB 版本庫 不能 存在于遠程文件系統,比如NFS,AFS,或者Windows SMB。 BDB要求文件系統運行在嚴格的POSIX語義環境,更重要的是,將文件直接映射到進程內存的能力。很多沒有網絡的文件系統都提供了這個功能。 如果你嘗試在網絡共享中使用BDB,結局是不可預知的。你可能會立刻看到詭異的錯誤,或者在幾個月以后,你發現版本庫隱約被毀壞。 你可以使用 FSFS 格式的版本庫但只有一個用戶可以訪問本地硬盤,接下來的FAQ項目會講到為什么共享版本庫是一個壞想法。 除非你真的有迫切的原因讓你的文件放到網絡共享,通常來說,最好的辦法就是避免這樣做。 如果你真的需要通過網絡共享訪問FSFS版本庫,你應該按照下面的其中一點來做: 用下面的語法規則來映射網絡驅動器: 將//server/shared映射到S: file:///S:/repos (盤符前有三個斜杠) 通過下面的格式指定一個UNC直接路徑: Subversion 》= 1.2 file://server/shared/repos (2個斜杠) Subversion 《 1.2 (奇怪的語法,我們知道) file://///server/shared/repos (5個斜杠) file:///\server/shared/repos (3個斜杠+反斜杠) 但是不要說我們沒有提醒過你…… 3、是否可以將版本庫保存在網絡共享驅動器來代替創建服務器? 如果你需要多個電腦訪問版本庫,在理論上你可以創建 FSFS 版本庫(但不能是 BDB 版本庫)在網絡共享驅動器上,通過已下格式訪問 file:// protocol。事實上這里有三個不推薦的原因: 你將給所有用戶直接訪問權限,所以他們會有可能偶然的刪除或者破換版本庫文件系統。 并不是所有的網絡共享協議都支持Subversion要求的鎖定。總有一天你會發現你的版本庫被悄悄的破壞。 你不得不設置正確的訪問權限,SAMBA 在這一點上特別難以滿足。 更好的辦法是創建一個真正的服務器進程(像Apache,svnserve),存儲版本庫到當地的文件系統上,使版本庫服務器可以在網絡上有效,可以被訪問。這也許會比你想的要簡單。Subversion書中 第6章 服務器配置 有詳細的方法說明。 4、是否可以使用不同的Subversion客戶端來操作同一個工作拷貝? 可以,客戶端只是用來控制你的工作拷貝,以及工作拷貝與版本庫之間的交互。工作拷貝里的元數據對于不同的客戶端來說都是一樣的。 但是,必須是使用同一版本Subversion庫的客戶端。TortoiseSVN 所使用的Subversion版本會在安裝文件的文件名里標明,其它的客戶端也會有類似說明。版本號的頭兩位數一致的客戶端才能通用。例如,所有使用Subversion1.5.x 的客戶端都可通用(‘x’表示此位數字不影響兼容性) 你還必須確保這些客戶端都是為同一個操作系統編譯的。客戶端兼容的前提是必須是同一種操作系統,并且元數據的表示方式可能發生變化。你不可以 對同一個工作拷貝同時使用Windows的原生客戶端和Cygwin的客戶端。如果是通過網絡共享的工作拷貝,你不可以 同時使用Windows的客戶端和Linux的客戶端。 5、TortoiseSVN能實時自動轉換文本文件中的換行符嗎? 請到查看Subversion書中關于svn:eol-style屬性的內容。 比如說,如果你將此屬性設置為‘native’,在 Linux 下它就會以LF作為換行符, Windows 下則是 CRLF。想了解如何通過TortoiseSVN設置這些屬性,請到 這里 閱讀我們的文檔。 6、如果沖突是在一個文件夾的屬性里,怎樣找到它呢? 在屬性有沖突的文件夾里,有一個dir_conflicts.prej文件,用文本編輯器打開它,你會看到有沖突的屬性,用你想保留的屬性覆蓋有沖突的。 7、我誤刪了一個文件,怎么找回來? 如果你還沒提交,你可以在被刪除的文件/文件夾的父文件夾作 還原 操作。 如果你已經提交了刪除文件,你可以使用版本庫瀏覽器,回到那文件還存在時的版本,然后在上下文菜單中使用 拷貝到…… 命令,輸入你工作拷貝的路徑作為目標路徑,被刪除的文件就會從版本庫復制到你的的工作拷貝。 用這個方法也可以恢復被刪除的目錄。 如果用這個方法恢復文件/目錄后,日志對話框無法顯示它的修改歷史,別擔心,歷史信息還在的。在 SVN 中復制一個文件時,它的歷史信息會同時被復制。但TortoiseSVN的查看日志功能默認是“Stop on copy”,即當你查看的日志是由分支點開始的。之所以這么做是因為當查看一個真正的分支時,你多數只是想知道那個分支的歷史信息。如果要看完整的歷史信息,你可以不選 ‘Stop on copy’,而把‘Get All’選上。 8、為什么我右擊一個鏈接的時候有幾個TortoiseSVN菜單? 這是正常的,其中一個是針對鏈接本身(.lnk-file 文件),另外一個針對它指向的文件。這樣既可以對一個鏈接文件進行版本控制,又可以對它指向的目標進行控制。事實上在文件菜單里你會有多達三個菜單(上下文菜單只顯示二個)。 9、能不能像 Visual Source Safe 一樣使用‘共享文件’? Subversion中不能共享一個文件,但可以共享一個文件夾。請查看 Subversion Book中外部定義一章。 10、沒有服務器,可以單獨使用 TortoiseSVN 嗎? 可以,你可以用file://協議來訪問你的本地版本庫。 11、使用TortoiseProc時可以發送用戶名和密碼嗎? TortoiseSVN 是一個 圖形化客戶端,它會在需要的時候提示你輸入用戶名和密碼。如果你想以非交互方式訪問版本庫,可以使用命令行客戶端。 12、版本分支圖是怎么一回事? 版本分支圖跟TortoiseSVN的其它功能不一樣。它可以顯示一個文件或文件夾的所有歷史修訂,包括拷貝、移動、分支和加標記操作。 我們經常會被問到“為什么要把版本庫根目錄的日志也拿下來”,或者是“為什么會需要取由第一次修訂到最新一次修訂的全部日志呢” 我得澄清一點:這可不是因為我們太懶,或是笨到不會優化——盡管你們有些人似乎就是這么暗示的。我們這么做其實是有必要的。 版本分支圖是通過查找針對某個對象的所有修訂,來呈現它的歷史的,這需要用到所有的可用信息。 如果查看選定文件/文件夾的日志,在日志對話框的下半部分你可以看到選中的修訂影響到的所有路徑,這就是在版本分支圖用到的信息。如果查看/trunk的日志,你會發現里面沒有記錄加標記或分支的日志,就算是對/trunk本身加標記、作分支也不會有。 --》 這就是取版本庫根目錄日志的用意:只有版本庫根目錄日志才包含這些所需信息,包括一個目錄何時曾被復制、分支、打標記或移動到何處。 沿用前面的例子,如果我們不取所有修訂的日志,而只取一部分的,那就有可能丟失/trunk作分支、打標記的日志。而且即使那些分支、標記本身做過修改,或者那些日志也在取下的部分里,版本分支圖也無法知道那些分支、標記操作是在/trunk還是別的路徑發生的。這意味著,版本分支圖不單是不完整的,還有可能是錯的。 因此我們不會去做所謂的“優化”,如果這個圖一時正確一時錯誤,而且你還無從判斷它是否正確、什么時候正確,這比完全沒用的東西更糟糕。 13、通過 svn+ssh 提交時,為什么日志里沒有‘作者’信息? 因為是 SSH 全權處理驗證過程,所以Subversion根本不會知道是誰提交的。如果要告訴Subversion作者是誰,你可以在 URL 中指定,像這樣 svn+ssh://username@server.com 。你應該在簽出工作拷貝時這么做。 14、為什么TortoiseSVN識別不了一個文件被修改過? 如果你改了一個文件,但是TortoiseSVN沒識別到,請檢查該文件是不是確實跟你工作拷貝中的不一樣。 如果你確定該文件已經修改過,但在提交對話框中卻沒有顯示為已修改,請確保: 文件的最后修改日期發生了改變(有些工具比如十六進制編輯器會重設這個值) 如果設置了 svn:eol-style 屬性,而所作的改動又只是添加刪除一些空行的話,Subversion 會認為該文件沒有被修改過 Subversion 是這樣判斷一個文件是否被修改過的: 15、最后修改日期和/或文件大小是否已改變? 如果否,則視為未修改 如果是,將文件內容與 BASE 文件進行比較 找到第一個有差異的字節時停止,將文件標為已修改 如果找不到有差異的字節,將文件標為未修改 16、刪除一個文件后,它就不存在了,那我怎么提交呢? 很簡單,提交整個目錄。資源管理器窗口中, 去到文件所在文件夾, 右鍵 然后 提交。提交對話框會顯示你的所有修改,包括添加或刪除文件。 日期變成亂碼了,甚至在簽出/更新時會崩潰! 這通常在安裝 XP SP3 后發生,按下面的步驟修正: 從 http://support.microsoft.com/kb/914387下載tzedit.exe 運行 tzedit.exe 從列表中選擇你的時區(我收到的所有崩潰報告都是來自“耶路撒冷”時區的,大概你會選這個吧) 點擊“編輯” 點擊“確定” 硬件是實在的,有模有樣的。軟件是程序性的。是一系列的指令。有了軟件,硬件才會實現更豐富的功能。 |
溫馨提示:喜歡本站的話,請收藏一下本站!