如果你覺得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疆死的情況了!爽!
功能解釋:
-
預設
-
把所有狀態資訊緩衝在一個獨立進程中(TSVNCache.exe)。該進程監視所有磁碟機的更改,並在工作複本中的檔案被修改時重新擷取其狀態。該進程以最低優先順序運行,所以其他程式不會被它擠兌。這同樣意味著狀態資訊並不是 即時 的,因為它需要幾秒鐘時間處理圖示覆疊的變化。
優點: 圖示覆疊遞迴地顯示狀態,就是說,如果一個處在工作複本深處的檔案被修改了,所有途徑的檔案夾包括工作複本的根目錄都會顯示出修改的圖示覆疊。也因為該進程可以向Windows外殼發送通知,資源管理員左面的樹形圖通常也會更改。
缺點: 即使你已經不在項目下工作了,該進程仍然持續運行。取決於你工作複本的數量和大小,它將佔用10-50 MB的RAM記憶體空間。
-
Windows 外殼
-
緩衝在外殼擴充dll中直接完成,但僅僅是為那些當前可見的檔案夾。每次你瀏覽到其他檔案夾,狀態資訊就會被重新擷取。
優點: 僅僅需要很少的記憶體(大約1 MB),並且可以 即時 顯示狀態。
缺點: 因為僅有一個檔案夾被緩衝,圖示覆疊不會遞迴地顯示狀態。在大一些的工作複本下,它在瀏覽器中顯示一個檔案夾將比預設緩衝模式花費更多時間。而且 mime-type 列將無效。
-
無
-
在這種設定下,TSVN在瀏覽器裡就完全不去擷取狀態了。因此,版本控制下的檔案將不會獲得任何圖示覆疊。檔案夾也僅僅有個“正常”狀態的圖示覆疊,其他的不會顯示,也不會有其他額外的列可用。
優點: 絕對不會佔用任何額外的記憶體,也完全不會減慢瀏覽器的瀏覽速度。
缺點: 檔案、檔案夾的狀態資訊不會顯示在瀏覽器中。要獲知你的工作複本是否被修改了,你需要使用“檢查更新”對話方塊。
若你選擇了預設選項,將同樣決定如下選擇: 在檔案夾包含非版本控制的項目時,把檔案夾圖示覆疊標記為已修改。這個有用的設定可以提醒你已經建立了非版本控制的新檔案。
排除路徑 是被用來告訴TSVN 不用 在哪些路徑下顯示圖示覆疊和狀態列。如果你有些很大的工作複本,而這些工作複本僅僅包含你完全不想改變的庫檔案,從而你也不需要顯示圖示覆疊,這時該功能將會很有用。舉個例子:
填寫 f:\development\SVN\Subversion 將 僅僅 在這個特殊檔案夾上取消圖示覆疊。你仍然可以在該路徑下的所有檔案、檔案夾上看到圖示覆疊。
填寫 f:\development\SVN\Subversion* 將在路徑以 f:\development\SVN\Subversion 開始的 所有 檔案和檔案夾上取消圖示覆疊。這意味著你在該路徑下的任何檔案/檔案夾上都將看不到圖示覆疊了。
包含路徑 也使用同樣的文法。除了有些反例: 即使該路徑處在某個取消圖示覆疊顯示的特定驅動類型下,或是處在上面的排除路徑之下, 也依然會顯示圖示覆疊。
TSVNCache.exe 同樣使用這些路徑來限制它的掃描。如果你想讓它僅僅在某些特定檔案夾裡監視,就取消所有的磁碟機類型,並僅僅包含你允許被掃描的檔案夾。