一、问题描述
通常会遇到一种情况,当提交svn commit的时候,把分支上的代码进行提交到主干时,一直提示提交失败
二、问题报错如下
build@QA1037:~/pro_workspace/dev/app/trunk/src/main/webapp/WEB-INF/jsp/basic> svn commit /export --username aa--password bbb -m "test"
svn: Commit failed (details follow):
svn: Aborting commit: '/export/js/aa.js' remains in conflict
报错原因:
根据提示,说明文件内容产生冲突,说明本地的文件与远程svn的文件存在不一致导致的。
解决方法:
对产生冲突的文件进行修复,可执行如下指令
// step1:
## 执行svn resolved + 指定产生冲突的文件
svn resolved xxx
// step2:
svn commit -m "xxx"
问题即可解决~
注:
svn resolved 除了删除冲突文件,还修正了一些记录在工作拷贝管理区域的记录数据,因为当冲突时会产生几个临时文件。
三、常见提交失败工作目录被锁问题
svn: Working copy 'xxxxx' locked
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
报错原因:提交文件失败,是因为上一次提交命令失败,导致整个文件夹下都被锁定了,根据提示cleanup一下整个目录。
svn锁住是为了文件夹的安全,避免随意修改。
解决方法:
svn cleanup
有时候为了不让svn目录下存在有些文件之类,可能会用到的指令:
删除当前目录下的所有的.svn目录,然后提交svn commit即可:
find . -type d -name ".svn" | xargs rm -rf