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