svn属性的妙用(svn:ignore) 1svn属性的妙用(svn:ignore) 本贴地址:http://www.scmbbs.com/cn/svntp/2008/2/svntp19.php 我们常常用svn status命令来查看本地的文件修改情况,用svn import导进大批量文件,但通常情况下我们本地有许多不需要纳入系统的文件,如编译产生的.class文件.exe文件等。svn status打印的额外信息扰乱视听;svn import可能会将无关文件错误导入库中。 怎么解决这个问题呢?有一个简单的办法可以避免:设置目录的svn:ignore属性,指定你想要svn忽略的文件。 假设我们在开发一个有关时间的库,让svn打印当前的状态,我们可以看到: bashs$ svn status project1/ ? project1/time.class ? project1/time.java.bak M project1/time.java 这儿,我们可以看出改动了time.java文件,但svn打印了另外2个我们不关心的文件。 现在,使用 svn propedit svn:ignore project1 来打开一个编辑器编辑project1的svn:ignore 属性。输入以下内容: *.class *.bak 现在再运行 svn status,.class和.bak文件就会被忽略掉了,世界一片清净。 修改完属性后,再commit,则每个人都会接受到 project1 更新过的svn:ignore属性,从而他们的svn也会忽略掉工作拷贝中的那些文件。 svn:ignore只应用于指定目录中的内容,它不会递归地应用于其子目录。本文来自http://www.scmbbs.com ,完整帖子请看: http://www.scmbbs.com/cn/svntp/2008/2/svntp19.php ©本文归 xuejiang 和本论坛(SCMbbs.com)共同所有,任何转载均需注明出处©如本文侵犯了你的权利,请与管理员联系! 作者:xuejiang 2008-02-27 23:40 2回复:svn属性的妙用(svn:ignore) 如在windows中,输入命令: svn propedit svn:ignore project1 --editor-cmd notepad 则会打开记事本,在记事本中输入过滤规则,关闭记事本,就完成编辑了。 --editor-cmd参数指定了用来编辑属性的命令。本文来自http://www.scmbbs.com ,完整帖子请看:http://www.scmbbs.com/cn/svntp/2008/2/svntp19.php ©本文归作者和本论坛(SCMbbs.com)共同所有,任何转载均需注明出处©如本文侵犯了你的权利,请与管理员联系! 作者:xuejiang 2008-04-08 19:40 Subversion属性 Subversion允许用户在文件或目录上发明任意名称的版本化属性和非版本化属性,唯一的限制就是“svn:”是Subversion本身的保留前缀,用户可以设置这些属性来改变Subversion的行为方式,用户不能发明新的“svn:”属性。 版本控制的属性 svn:executable 如果出现在一个文件上,客户端会将此文件在Unix工作拷贝中设置为可执行,见“文件的可执行性”一节。 svn:mime-type 如果出现在一个文件,这个值表示了文件的mime-type,这允许客户端在执行更新时决定以行为依据的合并是否安全,同时也会影响使用浏览器浏览文件时的行为方式。见“文件内容类型”一节。 svn:ignore 如果出现在目录上,这是一组svn status可以忽略的未版本化文件的名称模式,见“忽略未版本控制的条目”一节。 svn:keywords 如果出现在一个文件上,这个值告诉客户端如何扩展文件的特定关键字,见“关键字替换”一节。 svn:eol-style 如果出现在一个文件上,这个值告诉客户端如何处理工作拷贝中的文件的行结束符,见“行结束字符串”一节和svn export。 svn:externals 如果出现在一个目录上,则这个值就是客户端必须要检出的路径和URL列表。见“外部定义”一节。 svn:special 如果出现在一个文件上,表示了那个文件不是一个普通的文件,而是一个符号链或者是其他特殊的对象[56]。 svn:needs-lock 如果出现在一个文件上,告诉客户端在工作拷贝将文件置为只读,可以提醒我们在修改以前必须解锁。见“锁定交流”一节。 未版本控制的属性 svn:author 如果出现,则保存了创建这个修订版本的认证用户名。(如果没有出现,则修订版本是匿名提交的。) svn:date 保存了ISO 8601格式的修订版本创建UTC时间,这个值来自服务器主机时钟,不是客户端的。 svn:log 保存了描述修订版本的日志信息。 svn:autoversioned 如果出现,则修订版本是通过自动版本化特性创建,见“自动版本化”一节。 [56] 此时,符号链是唯一的“特别”对象,但是以后,也许Subversion会有更多的特别对象。