怎么讓subversion忽略指定文件和目錄
英文原文
http://sdesmedt.wordpress.com/2006/12/10/how-to-make-subversion-ignore-files-and-folders/
2011.05.09譯
從你的版本庫中剔除文件
有時你會希望某種類型的文件或者目錄不會保護到你的源代碼庫中,所有使用Visual Studio開發的人都會馬上知道我想說的:VS自動創建bin和obj子文件夾來存放編譯中間文件和最終結果,並會創建*.suo文件用於存放解決方案的個人設置。
如果能夠將這些文件從我們的版本庫中剔除不用每次升級項目的時候手動禁止對它們的檢查將是很方便的。幸運的是,subversion允許我們這么作。實際上有2種手段可以做到。
全局排除
使 用全局排除我們可以剔除指定文件類型加入到版本庫中(只能對既定的用戶連接有效)。我們需要作的只是編輯subversion的config文件,它可以 在本地運用數據目錄找到,比如Windows下的“C:\Documents and Settings\[username]\Application Data\Subversion”,或者Linux下的“~/.subversion”(原文只有windows相關配置譯者加了Linux配置)。
打開這個文件,查找[miscellany]節點,在這個節點中找到有global-ignores的行,刪除行首的“#”(假如你之前沒有刪掉),然后加上你想忽略的文件后綴。
比如你想忽略suo文件,你應當寫
global-ignores = *.suo
局部排除
局部排除只能針對某個目錄,就是說你可以告訴subversion客戶端忽略指定的文件,文件類型或者目錄,這是通過對指定目錄設置svn:ignore屬性來完成的。
比如,忽略解決方案目錄下的suo文件,你可以在其目錄下運行命令:
[TargetFolder]> svn propset svn:ignore *.suo .
別忘記最后的點".",它指定作用的目標路徑是當前路徑。通過以上命令可以使得subversion忽略目標路徑下所有擴展文件名為suo的文件
忽略文件夾也是相似的格式,忽略目標路徑下名為bin的文件夾的命令為:
[TargetFolder]> svn propset svn:ignore bin .
同樣不要忘了最后的"."
要忽略多個文件文件夾時,需要使用換行符作為分隔標記的propset忽略列表,因為命令行下換行符沒法輸入(好吧,是我不知道怎么輸入),因此需要創建一個文件來包含這些忽略列表。
ignore.txt文件內容如下:
obj
bin
執行如下命令
[TargetFolder]> svn propset svn:ignore -F ignore.txt .
還是別忘了最后的".",命令表示忽略當前路徑下obj和bin文件夾。