码迷,mamicode.com
首页 > 其他好文 > 详细

svn中的ignore

时间:2017-09-11 15:12:24      阅读:1156      评论:0      收藏:0      [点我收藏+]

标签:区分   .project   back   脚本   配置文件   appdata   没有   正则   global   

1.相关命令

 

svn propdel (pdel, pd)
svn propedit (pedit, pe)
svn propget (pget, pg)
svn proplist (plist, pl)
svn propset (pset, ps)

参考:http://svnbook.red-bean.com/en/1.7/index.html

2.相关可设置属性

参考:http://svnbook.red-bean.com/en/1.7/svn.ref.properties.html

3.svn:global-ignores和svn:ignore以及小乌龟settings中的global ignore patterns的区别

svn:global-ignores配置当前目录的全局ignore,对当前目录的所有文件和文件夹起作用.

相当于在当前目录,配置-R svn:ignore,不是对当前仓库的的.

svn:ignore只对当前目录有效,如果使用-R参数,对子目录也有效.

global ignore patterns的配置文件在svn %APPDATA%/Subversion/config中,###是注释,#是配置,对所有仓库有效.

也可以在小乌龟中右键setting

4.svn的ignore配置

首先需要注意的一点:svn的ignore可能无法区分文件夹和文件,比如.idea,会同时忽略.idea文件夹和文件.(反正我没找到区分方法)

通配符就是?* [],?匹配单字符,*多字符,[]任意一个,比如[0-9]和[Tt],应该和正则用法一致.

5.已经commit过的如何忽略?

svn又一次被git完爆的原因

如果是编译等产生的中间文件,比如target,bin我觉得直接svn delete就行.

如果是配置文件,比如idea,.project,再接着看

已经commited了再.ignore也不管用了.

比如已经commit了.idea文件夹,后面给.idea加了ignore.

如果自己一个人用svn,可以先备份一份,然后svn del掉.idea文件夹,备份的再改回.idea就好了.

如果团队用,A,B,C三个人,A备份为idea1,A用svn del .idea删除掉,或者A不用备份,--keep-local也行,然后B和C在update之前,备份为idea1,update好了再改回来.

如果需要备份的文件太多,几十个之类的,可以尝试花点时间写个脚本,先根据需要备份的ignore,找到匹配的文件和目录,cp备份,更新完了,再还原回来.

查了有点相关的svndumpfilter,感觉有点难,而且貌似也达不到效果.

如果能在server端的版本库中删除文件,本地库不更新,就好了.

6.小乌龟的右键ignore

没有 recursively的,是global-ignore,对当前目录以及子目录有效.

有recursively的,只对当前目录有效.

svn中的ignore

标签:区分   .project   back   脚本   配置文件   appdata   没有   正则   global   

原文地址:http://www.cnblogs.com/ptqueen/p/7504748.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!