天天看點

解決tsvncache.exe引起電腦慢的問題[SVN使用技巧]

如果你覺得SVN的cache程式使得你的機器反應很慢的話,那可以參考這個方案.不過可能要改變你以前使用習慣.

這個方案有兩部分,第一部分是關閉SVN的cache監視;第二部分是顯示檔案差異時,使用SVN的“check for modifications”顯示差異。 

1.關閉SVN的cache監視。即關閉tsvncache.exe這個程式對目錄的監視。

具體操作步驟如下:

a) 右擊任意目錄打開右鍵菜單,打開"tortoisesvn" => "settings"下的設定視窗

b) 找到"icon overlays"的設定項,将"status cache"設定成"none"

2.使用SVN的“check for modifications”顯示差異

a) 右擊需要比較差異的目錄,打開右鍵菜單,打開"tortoisesvn" => "check for modifications",打開比較差異視窗

注:這樣顯示檔案差異是因為上面關閉監視後,再有修改程式檔案,檔案夾不再更新修改辨別了,無法再通過檢視檔案平圖示來知道是否有檔案修改。

今天本人這樣修改了,感覺機器強多了!不再有explorer疆死的情況了!爽!

以下是SVN設定框中具體的設定的介紹(摘自:http://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/tsvn-dug-settings.html)

圖 5.43. 設定對話框,外觀與樣式頁面

解決tsvncache.exe引起電腦慢的問題[SVN使用技巧]

此頁面允許你選擇TSVN為哪些條目顯示圖示覆寫。選擇網絡磁盤可能會非常慢,是以預設情況下不為定位于網絡共享中的工作副本顯示圖示覆寫。你甚至可以取消所有的圖示覆寫,但那樣做還剩下什麼好玩兒的呢?

USB閃存看上去是個特殊情況,因為驅動類型是裝置自主辨別的。于是有些顯示為固定驅動器,而有些顯示為可移動磁盤。

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:

<dl></dl>

<dt>預設</dt>

<dd></dd>

把所有狀态資訊緩存在一個獨立程序中(<code>TSVNCache.exe</code>)。該程序監視所有驅動器的更改,并在工作副本中的檔案被修改時重新擷取其狀态。該程序以最低優先級運作,是以其他程式不會被它擠兌。這同樣意味着狀态資訊并不是 實時 的,因為它需要幾秒鐘時間處理圖示覆寫的變化。

優點: 圖示覆寫遞歸地顯示狀态,就是說,如果一個處在工作副本深處的檔案被修改了,所有途徑的檔案夾包括工作副本的根目錄都會顯示出修改的圖示覆寫。也因為該程序可以向Windows外殼發送通知,資料總管左面的樹形圖通常也會更改。

缺點: 即使你已經不在項目下工作了,該程序仍然持續運作。取決于你工作副本的數量和大小,它将占用10-50 MB的RAM記憶體空間。

<dt>Windows 外殼</dt>

緩存在外殼擴充dll中直接完成,但僅僅是為那些目前可見的檔案夾。每次你浏覽到其他檔案夾,狀态資訊就會被重新擷取。

優點: 僅僅需要很少的記憶體(大約1 MB),并且可以 實時 顯示狀态。

缺點: 因為僅有一個檔案夾被緩存,圖示覆寫不會遞歸地顯示狀态。在大一些的工作副本下,它在浏覽器中顯示一個檔案夾将比預設緩存模式花費更多時間。而且 mime-type 列将無效。

<dt>無</dt>

在這種設定下,TSVN在浏覽器裡就完全不去擷取狀态了。是以,版本控制下的檔案将不會獲得任何圖示覆寫。檔案夾也僅僅有個“正常”狀态的圖示覆寫,其他的不會顯示,也不會有其他額外的列可用。

優點: 絕對不會占用任何額外的記憶體,也完全不會減慢浏覽器的浏覽速度。

缺點: 檔案、檔案夾的狀态資訊不會顯示在浏覽器中。要獲知你的工作副本是否被修改了,你需要使用“檢查更新”對話框。

若你選擇了預設選項,将同樣決定如下選擇: 在檔案夾包含非版本控制的項目時,把檔案夾圖示覆寫标記為已修改。這個有用的設定可以提醒你已經建立了非版本控制的新檔案。

排除路徑 是被用來告訴TSVN 不用 在哪些路徑下顯示圖示覆寫和狀态列。如果你有些很大的工作副本,而這些工作副本僅僅包含你完全不想改變的庫檔案,進而你也不需要顯示圖示覆寫,這時該功能将會很有用。舉個例子:

填寫 <code>f:\development\SVN\Subversion</code> 将 僅僅 在這個特殊檔案夾上取消圖示覆寫。你仍然可以在該路徑下的所有檔案、檔案夾上看到圖示覆寫。

填寫 <code>f:\development\SVN\Subversion*</code> 将在路徑以 <code>f:\development\SVN\Subversion</code> 開始的 所有 檔案和檔案夾上取消圖示覆寫。這意味着你在該路徑下的任何檔案/檔案夾上都将看不到圖示覆寫了。

包含路徑 也使用同樣的文法。除了有些反例: 即使該路徑處在某個取消圖示覆寫顯示的特定驅動類型下,或是處在上面的排除路徑之下,也依然會顯示圖示覆寫。

TSVNCache.exe 同樣使用這些路徑來限制它的掃描。如果你想讓它僅僅在某些特定檔案夾裡監視,就取消所有的驅動器類型,并僅僅包含你允許被掃描的檔案夾。

繼續閱讀