SVN排除文件

来源:互联网 发布:金山软件股权结构2017 编辑:程序博客网 时间:2024/04/28 19:06

用 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, 完全是因为历史原因.


原创粉丝点击