环境:
REHL ES 4
事件描述:
work文件夹下有个文件夹叫images,在工作文件夹下删除images后,执行svn commit ,结果提示:
svn: Working copy '/images' is missing or not locked
上网搜了一下,有说cleanup能解决最后以失败告终。网上说产生这个问题的原理是:
“一些动态生成文件的文件夹造成的,解决的办法就将此文件夹从SVN资源库中删除,并在工程中把此文件夹加入到svn:ignore属性中,这样,SVN将不会对此文件夹进行控制,而且,我们也不需要对动态生成文件的文件夹进行控制。”
所以解决这个问题的思路大致是:先手动将版本库中出现问题的文件处理成与工作文件夹相同的状态。然后让工作文件夹与版本库同步。之后,执行commit。
具体步骤:(一开始最好在工作文件夹下执行clearup)
1、用Tortoises的Repo-browser打开版本库,删除images。
2、此时执行svn status |grep images 显示
! /images
说明images项目已经丢失(例如,你使用 svn移动或者删除了它)。
3、执行svn update /images 单独更新改文件。此时显示:
D /images
说明/images是预定义要删除的项目。
4、最后执行svn commit -m “messages”
此时提交成功了。
虽然成功了,但是太具体的原因我还是说不清,如果您知道具体的原因的话请您在评论中告诉我,或是给我留言,谢谢!