将maven项目提交到svn时,应该避免将target目录及eclipse配置文件 (.project,.classpath,.settings)提交,因为这些文件都是可以从源代码和pom文件重新生成的,没有必要再进行版本控制, 如果提交到svn中反而容易引起冲突和不便。
svn提供两种机制来忽略特定文件的提交:
1.全局:这个全局其实是针对每个客户端的,编辑客户端的~/.subversion/config(*unix系统,windows可能不一样)文件,找到倍注释掉的global-ignores配置,改成需要的,如:
global-ignores= .settings .project .classpath target .DS_Store
2.针对目录的配置: 在目录上通过svn:ignore参数(右键--属性,值:.settings target .classpath .project .gitignore)进行设置,只针对当前目录有效,子目录无效.
如果只是针对个人使用,那么第一种方法最方便,设置一下就不管了。如果希望其他人不用设置,svn也会忽略这些文件,就要两种方法结合起来用了。
(1).在自己的客户端配置global-ignores
(2).提交代码:
svn mkdir --parents -m "" http://svnserver/svn/portal_proj/uuam/trunk
svn co http://svnserver/svn/portal_proj/uuam/trunk .
svn add * --depth=infinity --force
svn ci --username huzq
(3).设置svn:ignore参数
svn propset -R svn:ignore ".settings
.project
.classpath
target" .