已经在版本控制的目录或者文件是不能加入svn:ignore,加入了也无效,如果要加入,必须先删除然后commit,然后再加入svn:ignore。
也就是说svn:ignore属性只能在配置数据仓库的时候首先要配置好才能过滤。或者手动在提交的时候,按文件类型排列一下,
然后把不需要的文件前面的勾去掉即可,虽然有点麻烦,但是可以保证万无一失。
svn propset svn:ignore "*" log/
svn propset svn:ignore "*" tmp/
svn propset svn:ignore "*" cache/
svn propset svn:ignore "*" sessions/
svn全局忽略
修改目录下 .subversion/config文件,取消global-ignroes的注释
global-ignores = CVS .DS_Store Thumbs.db WS_FTP.LOG _notes _vti_* *.LCK
尝试使用全局忽略样式设置:*/bin */obj */packages
根据网上提到的方法进行设置:
一般协作开发情况下,有意无意将bin和obj目录添加到版本管理中是很烦人的事儿,在VS中不断地编译程序集和提交将带来版本暴增问题.如果你用的是乌龟SVN(TortoiseSVN)可以通过添加属性来忽略掉.
具体实现
- 在解决方案目录上点右键
- 在乌龟SVN菜单中找到"属性"点开
- 在弹出窗中点"新增"
- 在弹出窗中的"属性"中选择"svn:ignore"
- 然后取值中填上bin和obj各一行
- 确认并提交目录更新
然后每次提交解决方案目录的时候就会忽略掉bin和obj目录
(在目录中执行检出命令,并不会删除原来文件的内容。)
否则你看到的是下图的菜单,没有属性按钮。
一旦目录加入版本控制之后,右键就可以看到下图的菜单了。
点击属性之后,新建=》高级
按输入框设置忽略
==================================================================
最近遇到一个需求,就是把一些文件从svn版本库中移除而保留现有文件不变。比如数据库配置文件,每个程序员的本地配置不同,如果一更新提交上去就乱套了。用svn del会从版本库中删除但是文件也被删了, 这样会造成一更新所有人的文件都被删除掉。
用带参数--keep-local可以保留本地副本, 注意别人的副本如果没有更新过也会被删除掉
svn del --keep-local config.php
delete (del, remove, rm): 从版本库中删除文件和目录。
用法: 1、delete PATH...
2、delete URL...
1、每个 PATH 指定的项目会被调度到下次提交时从版本库删除。除非给出--keep-local 参数,工作副本中没有提交的文件和目录会被立即删除。
如果 PATH 是未版本控制或者已修改的项目,或者包含这些项目,那么仅当给出 --force 参数时这些项目才会被删除。
2、每个 UR L指定的项目会通过立即提交从版本库中删除。
注意:乌龟SVN的导入,导出只是导入到文档库或是导出到本地的工作目录,但是本地工作目录并没有进行版本控制,所以,正确的做法是
用乌龟SVN的SVN的检出功能将文档库更新到本地工作目录,这样才会进行版本控制。