2014年9月23日 星期二

Visual C++/C# 專案的 SVN 全域忽略樣式設定 (ignore pattern)

        在使用SVN的時候,有一些IDE自動產生的檔案是相依於不同的開發者或電腦,它們不需要上傳到SVN的檔案庫裡面,在團隊開發的情況下,這些檔案很容易會產生衝突,在送交或更新時常常需要檢查或過濾,造成使用者困擾。

        這時可以使用SVN的全域除外/忽略樣式 (Ignore patten),在 TortoiseSVN 設定中的一般設定可以找到,設定於忽略樣式的檔案在送交時會自動忽略而不會上傳至檔案庫裡,可以減少不少麻煩。


        網路上有不少人分享忽略樣式,在這裡將他們進行整理,如有需要可以自行研究決定是否要進行忽略

     
        像我一樣懶得一個一個輸入也可以複製以下的懶人包進行設定

*.o *.lo *.la *.al .libs *.so, *.so.[0-9]* *.a *.pyc *.pyo *.rej *~, .~ #*# .#* .*.swp .DS_Store [Rr]elease [Dd]ebug *.user *.pch *.pdb *.idb *.sdf ipch *.ncb *.suo .opt bin obj [Tt]humbs.db *.tmp *.temp *.sdf *.opensdf

        這些設定在 Windows 作業系統中是以機碼 (.reg) 的方式儲存的,所以不同電腦、重新安裝小烏龜等等都需要重新做一次,遇到新手也要重新教一次 (麻煩死了 ... 挖鼻屎),和 SVN 的另一個功能 ignore list 不同, ignore list 只要一個人做,整體就會生效,在這部分全域忽略樣式是稍嫌麻煩了一點。

        如果整個團隊想要使用相同的全域忽略樣式,除了每個人都乖乖的複製貼上以外,剛剛有說明了,他是以機碼的方式存在,所以也可以直接把自己的機碼分享給整個團隊使用,參考的機碼的內容如下:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany]
"global-ignores"="*.o *.lo *.la *.al .libs *.so, *.so.[0-9]* *.a *.pyc *.pyo *.rej *~, .~ #*# .#* .*.swp .DS_Store [Rr]elease [Dd]ebug *.user *.pch *.pdb *.idb *.sdf ipch *.ncb *.suo .opt bin obj [Tt]humbs.db *.tmp *.temp *.sdf *.opensdf RTSSDebug [Rr]tssdebug RTSSRelease [Rr]tssrelease"
"use-commit-times"="no"

        把以上內容使用記事本等文字編輯器儲存成 .reg 檔,或者是直接到上面的路徑把機碼複製出來,再將此 reg 檔傳送給其他使用者執行就可以分享忽略樣式了。

沒有留言:

張貼留言