svn commit 提示missing or not locked





环境:
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”

此时提交成功了。
虽然成功了,但是太具体的原因我还是说不清,如果您知道具体的原因的话请您在评论中告诉我,或是给我留言,谢谢!

你可能感兴趣的:(Linux)