SVN排除文件

用 svn 底下 hack Python 不但會遭到動物保護組織的裸女抗議, 而且還會發生一不小心就把 *.pyc commit 到版本庫的丟人行爲. 有裸女抗議還能接受, 但要丟這種人卻萬萬不可. 大家都是帥的掉渣的 IT 民工, 形象很重要.

還好, 我只有兩個 Python 小腳本放在 src 目錄下, 我知道這樣就可以保形象萬全:
svn propset svn:ignore "*.pyc" src

但是我總會碰上個大點的項目啊, 不然我哪兒有臉當民工啊. src, test, util, doc, Python 代碼遍佈 N 多個目錄, N 多個目錄底下還有 M 個子目錄, 每個子目錄下還有 X 子目錄層, 到處都是 Python. 當然, 別害怕, 辦法總是有的(你不會想寫個腳本挨個目錄修理吧? 爲了保持形象這也太邪惡了一點):
svn propset svn:ignore "*.pyc" . --recursive

當然不只有 commit *.pyc 才丟臉, 你還需要排除其它好多好多文件, *~, *.o, *.obj, 那就這樣, 編輯一個 ignore.txt 文件, 一行一個要排除到版本控制之外的文件通配符, 比如:
*.pyc
*~
*.tmp
127.0.0.1.*
然後 propset svn:ignore --file ignore.txt . --recursive

當然, 有時候版本庫你是不能太隨便動的(你要真動了那你形象全毀了), 儘快你可以很小心不把 *.pyc commit 進去, 但是你真的不喜歡那些 *.pyc 每次 svn st 都跑出來, 並且這樣小心翼翼彷彿不是那麼回事兒啊! 還是有辦法的:
nano ~/.subversion/config
找到這一行,
#global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store
讀讀它上面的說明, 我想你明白該怎麼做了, 將這一行修改爲
global-ignores = *.pyc *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store

當然, 要想保持形象, 你最應該做的是馬上換掉 svn, bzr, darcs, hg, git, 隨便挑一個. 並且你要告訴別人, 你爲什麼還在用 svn, 完全是因爲歷史原因.


發佈了52 篇原創文章 · 獲贊 0 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章