SVN利用TortoiseSVN设置忽略文件或文件夹(目录)列表


Linux下svn命令行配置

修改版本库的相关属性

$ svn propedit svn:ignore dir

其中 dir 就是你所想设置过滤文件列表的目录,执行命令之后,会出现编辑界面,按照空格将你想过滤文件(通常使用通配符的方式)以空格分开,保存退出即可。这个属性是针对版本库进行的修改,因此需要提交这个修改。svn:ignore是svn的一个参数。
注意:这个设置无法递归,也就是如果 dir 目录下还有子目录的话,是单独设置的。

svn 客户端的配置

对 svn 命令的配置文件修改即可。进入个人用户目录

$ vim .subversion/config

找到包含 [miscellany] 这一行,取消注释,然后编辑包含 global-ignores 的那一行,取消注释,并添加需要过滤文件的通配符即可。如下所示:注意开头不能有空格,否则svn会报错。

global-ignores = *.so *.a *.o *.lo *.la .*.rej *.rej .*~ *~ .#* .DS_Store

这个配置是对客户端的修改,对版本库没有任何影响。同时,这个配置也是全局的,适用于本机所有 svn 管理的项目。

Windows下 Tortoise SVN 设置

Tortoise SVN 上修改版本库的属性

在 svn 管理项目目录下右键,也就是你想设置过滤文件列表的目录,点击 Tortoise SVN->属性->新建,下拉列表选择 svn:ignore,然后在文本框里面编辑过滤文件列表。如果希望递归该属性,请选择左下角的复选框”递归应用该属性”即可。如图所示:
1
2

Tortoise SVN 客户端工具的配置

这个配置和 svn 版本库没有关系。在任何目录右键单击,依次点击 Tortoise SVN->设置->常规设置,全局忽略样式中添加忽略文件列表即可。如下图所示:
3
熟悉了SVN的忽略文件配置后,我在想git中是否也有两种类型的忽略配置:版本库中的配置和客户端配置。git中的.gitignore文件显然可以是随版本库的配置,每个人都可以通过checkout一份都使用相同的配置。那是否也可以进行git的本地全局客户端配置,不随版本库而影响全局的项目忽略配置呢,下次再研究。

附录

注意事项

1、新建的代码库,直接按上面方法操作即可忽略不想让SVN管理的文件。如果想要把已经在版本库中存在的文件忽略,那么需要先将其从SVN服务器中删除,再执行上面操作。
2、TortosieSVN客户端的svn:ignore和svn:global-ignores属性的区别
A、svn:ignore:只对当前目录有效;
global-ignores:是全局有效,就是所有目前都有效;
B、svn:ignore:必须每个工作目录都要设置,个性化配置;
global-ignores:只需要配置一次,使用方便;
3、忽略多个文件的写法及忽略文件夹的写法
在全局设置的时候,bin obj *.suo ,每一个设置和其他设置之间是有空格的;
另外需要注意的是,如果需要忽略某一个文件夹的话,那么直接输入文件夹的名字就可以了,不需要输入“;”bin就是忽略bin文件夹了;如果输入“bin/;”svn是不会识别的
4、全局忽略列表是一个客户端特性。它会作用到所有的(all)subversion 项目。但只能在pc客户端使用。
5、Subversion的忽略模式
Subversion的忽略模式使用了文件匹配,一种原先在Unix系统中使用meta字符作为通配符的技术。下面的字符有着特殊的意思:
* 匹配任何字符串,包括空串(没有字符)
? 匹配任何单字符
[…] 匹配任何单在方括号[]内的单字符,在方括号内,一对字符被“-”分隔,匹配任何词汇表(lexically)上在他们中间的字符。例如[AGm-p]匹配任何单个的A,G,m,n,o或者p。

模式匹配是大小写敏感的,这在Windows 平台下会出问题。你可以使用成对的字符来强制忽略大小写。例如,忽略不记 *.tmp 的大小写,那么你可以使用像 *.[Tt][Mm][Pp] 这样的模式。

如果你想要一个官方定义的匹配规则。你可以在关于shell命令行语言的IEEE规范PatternMatching Notation中找到。
常用忽略样式:*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store *.dll *.pdb

参考资料:
SVN设置忽略文件列表:http://my.oschina.net/shelllife/blog/142257
svn利用TortoiseSVN忽略文件或文件夹(目录) :http://www.uml.org.cn/pzgl/2009061910.asp
设置SVN忽略文件和目录(文件夹):http://blog.csdn.net/hemingwang0902/article/details/6904205

发表评论?

0 条评论。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据