如果你覺(jué)得SVN的cache程序使得你的機(jī)器反應(yīng)很慢的話(huà),那可以參考這個(gè)方案.不過(guò)可能要改變你以前使用習(xí)慣.
這個(gè)方案有兩部分,第一部分是關(guān)閉SVN的cache監(jiān)視;第二部分是顯示文件差異時(shí),使用SVN的“check for modifications”顯示差異。
1.關(guān)閉SVN的cache監(jiān)視。即關(guān)閉tsvncache.exe這個(gè)程序?qū)δ夸浀谋O(jiān)視。
具體操作步驟如下:
a) 右擊任意目錄打開(kāi)右鍵菜單,打開(kāi)"tortoisesvn" => "settings"下的設(shè)置窗口
b) 找到"icon overlays"的設(shè)置項(xiàng),將"status cache"設(shè)置成"none"
2.使用SVN的“check for modifications”顯示差異
具體操作步驟如下:
a) 右擊需要比較差異的目錄,打開(kāi)右鍵菜單,打開(kāi)"tortoisesvn" => "check for modifications",打開(kāi)比較差異窗口
注:這樣顯示文件差異是因?yàn)樯厦骊P(guān)閉監(jiān)視后,再有修改程序文件,文件夾不再更新修改標(biāo)識(shí)了,無(wú)法再通過(guò)查看文件平圖標(biāo)來(lái)知道是否有文件修改。
今天本人這樣修改了,感覺(jué)機(jī)器強(qiáng)多了!不再有explorer疆死的情況了!爽!
以下是SVN設(shè)置框中具體的設(shè)置的介紹(摘自:http://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/tsvn-dug-settings.html)
此頁(yè)面允許你選擇TSVN為哪些條目顯示圖標(biāo)覆蓋。選擇網(wǎng)絡(luò)磁盤(pán)可能會(huì)非常慢,所以默認(rèn)情況下不為定位于網(wǎng)絡(luò)共享中的工作副本顯示圖標(biāo)覆蓋。你甚至可以取消所有的圖標(biāo)覆蓋,但那樣做還剩下什么好玩兒的呢?
USB閃存看上去是個(gè)特殊情況,因?yàn)轵?qū)動(dòng)類(lèi)型是設(shè)備自主標(biāo)識(shí)的。于是有些顯示為固定驅(qū)動(dòng)器,而有些顯示為可移動(dòng)磁盤(pán)。
By default, overlay icons will appear in all open/save dialogs as well as in Windows Explorer. If you want them to appear only in Windows Explorer, check the Show overlays only in explorer box.
Since it takes quite a while to fetch the status of a working copy, TortoiseSVN uses a cache to store the status in so the explorer doesn't get hogged too much when showing the overlays. You can choose which type of cache TortoiseSVN should use according to your system and working copy size here:
- 默認(rèn)
-
把所有狀態(tài)信息緩存在一個(gè)獨(dú)立進(jìn)程中(TSVNCache.exe
)。該進(jìn)程監(jiān)視所有驅(qū)動(dòng)器的更改,并在工作副本中的文件被修改時(shí)重新獲取其狀態(tài)。該進(jìn)程以最低優(yōu)先級(jí)運(yùn)行,所以其他程序不會(huì)被它擠兌。這同樣意味著狀態(tài)信息并不是 實(shí)時(shí) 的,因?yàn)樗枰獛酌腌姇r(shí)間處理圖標(biāo)覆蓋的變化。
優(yōu)點(diǎn): 圖標(biāo)覆蓋遞歸地顯示狀態(tài),就是說(shuō),如果一個(gè)處在工作副本深處的文件被修改了,所有途徑的文件夾包括工作副本的根目錄都會(huì)顯示出修改的圖標(biāo)覆蓋。也因?yàn)樵撨M(jìn)程可以向Windows外殼發(fā)送通知,資源管理器左面的樹(shù)形圖通常也會(huì)更改。
缺點(diǎn): 即使你已經(jīng)不在項(xiàng)目下工作了,該進(jìn)程仍然持續(xù)運(yùn)行。取決于你工作副本的數(shù)量和大小,它將占用10-50 MB的RAM內(nèi)存空間。
- Windows 外殼
-
緩存在外殼擴(kuò)展dll中直接完成,但僅僅是為那些當(dāng)前可見(jiàn)的文件夾。每次你瀏覽到其他文件夾,狀態(tài)信息就會(huì)被重新獲取。
優(yōu)點(diǎn): 僅僅需要很少的內(nèi)存(大約1 MB),并且可以 實(shí)時(shí) 顯示狀態(tài)。
缺點(diǎn): 因?yàn)閮H有一個(gè)文件夾被緩存,圖標(biāo)覆蓋不會(huì)遞歸地顯示狀態(tài)。在大一些的工作副本下,它在瀏覽器中顯示一個(gè)文件夾將比默認(rèn)緩存模式花費(fèi)更多時(shí)間。而且 mime-type 列將無(wú)效。
- 無(wú)
-
在這種設(shè)置下,TSVN在瀏覽器里就完全不去獲取狀態(tài)了。因此,版本控制下的文件將不會(huì)獲得任何圖標(biāo)覆蓋。文件夾也僅僅有個(gè)“正常”狀態(tài)的圖標(biāo)覆蓋,其他的不會(huì)顯示,也不會(huì)有其他額外的列可用。
優(yōu)點(diǎn): 絕對(duì)不會(huì)占用任何額外的內(nèi)存,也完全不會(huì)減慢瀏覽器的瀏覽速度。
缺點(diǎn): 文件、文件夾的狀態(tài)信息不會(huì)顯示在瀏覽器中。要獲知你的工作副本是否被修改了,你需要使用“檢查更新”對(duì)話(huà)框。
若你選擇了默認(rèn)選項(xiàng),將同樣決定如下選擇: 在文件夾包含非版本控制的項(xiàng)目時(shí),把文件夾圖標(biāo)覆蓋標(biāo)記為已修改。這個(gè)有用的設(shè)置可以提醒你已經(jīng)創(chuàng)建了非版本控制的新文件。
排除路徑 是被用來(lái)告訴TSVN 不用 在哪些路徑下顯示圖標(biāo)覆蓋和狀態(tài)列。如果你有些很大的工作副本,而這些工作副本僅僅包含你完全不想改變的庫(kù)文件,從而你也不需要顯示圖標(biāo)覆蓋,這時(shí)該功能將會(huì)很有用。舉個(gè)例子:
填寫(xiě) f:\development\SVN\Subversion
將 僅僅 在這個(gè)特殊文件夾上取消圖標(biāo)覆蓋。你仍然可以在該路徑下的所有文件、文件夾上看到圖標(biāo)覆蓋。
填寫(xiě) f:\development\SVN\Subversion*
將在路徑以 f:\development\SVN\Subversion
開(kāi)始的 所有 文件和文件夾上取消圖標(biāo)覆蓋。這意味著你在該路徑下的任何文件/文件夾上都將看不到圖標(biāo)覆蓋了。
包含路徑 也使用同樣的語(yǔ)法。除了有些反例: 即使該路徑處在某個(gè)取消圖標(biāo)覆蓋顯示的特定驅(qū)動(dòng)類(lèi)型下,或是處在上面的排除路徑之下,也依然會(huì)顯示圖標(biāo)覆蓋。
TSVNCache.exe 同樣使用這些路徑來(lái)限制它的掃描。如果你想讓它僅僅在某些特定文件夾里監(jiān)視,就取消所有的驅(qū)動(dòng)器類(lèi)型,并僅僅包含你允許被掃描的文件夾。