我们常常用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只应用于指定目录中的内容,它不会递归地应用于其子目录。[/size]