当前位置: 首页 > Linux

忽略SVN中的文件

时间:2023-04-06 01:32:53 Linux

很多中小型项目,尤其是公司的项目版本控制,一般还是使用SVN,包括我自己的个人电脑,也是使用SVN进行文件管理。如果不设置忽略文件设置,很多中间文件和二进制文件会被签入库,不说浪费空间,还会造成管理上的混乱。在git工具中,设置忽略文件,只需要修改.据说有两种方式,设置完全可以满足大部分需求。全局设置忽略文件类型。在SVN配置文件~/.subversion/config中,已经有设置,但默认没有启用。找到[miscellany]部分,去掉global-ignores前面的注释。另外,可以自己添加一些想要忽略的文件类型,比如我的修改:[miscellany]global-ignores=*.o*.so*.so.[0-9]**.a*。pyc*.dylib这个配置只影响本地客户端,对版本库没有影响,适用于本机所有svn管理的项目。在项目目录下设置忽略的文件和目录很多时候,项目目录下会有一些不需要版本管理的文件和目录,比如临时编译文件夹或者本地配置信息。这时候就需要设置具体的项目了。最好的方法是使用svn的propedit:$svnpropeditsvn:ignore

如果只有个别项目,这个设置就够了,但是管理很多项目不是很方便,所以我自己写了一个脚本,先看脚本文件内容:#!/bin/shecho'.git\n.gitignore\n.hgignore\n.hgtags\n.idea.tags\ntags\n.travis.yml\n.ycm_extra_conf.pynode_modules\nbuild'>.svnignorewhile[-n"$1"]doecho"$1">>.svnignoreshift1donesvnpropsetsvn:ignore-F.svnignore.svnci-m'ignoringsomefiles'rm.svnignore该脚本首先生成一个临时的类似到.gitignore文件,然后使用SVN的propset方法修改当前目录的忽略列表。在脚本的最开始,放置经常需要忽略的文件和目录的名称;代替while循环,接受命令行参数,并将参数放入忽略列表;定型后交到图书馆。比如我把这个脚本文件命名为svn_ignores,并将脚本文件放在/usr/local/bin/目录下(全局访问),进入某个工程目录。目前这个项目目录结构如下:MyProject-bin-src-inc-thirdpart-buildREADME.mdtmp.txt这里的build,tmp.txt,我不想放到库里管理,所以在项目目录下执行:$svn_ignoresbuildtmp.txt