最近我们的svn服务器发生了变化,我们做了一个svn开关.
由于工作副本有大量的无版本资源,工作副本被锁定,我们开始在文件夹下为svn下的所有文件夹切换文件夹,这完全正常.
但是在存储库的最顶层,当我尝试更新文件时,我得到了svn:Working copy'.' 锁定错误和清理也无济于事.当我进行清理时,我会收到类似这样的错误 - svn:'content'不是工作副本目录
新鲜的结账不是一个选择.有没有其他方法可以清理和释放锁并完全切换?
编辑: JesperE答案中的最后一段
如果在进行递归"svn清理"时得到"非工作副本",我的猜测是你有一个应该是工作副本的目录(即toplevel的.svn目录这样说),但它缺少它拥有.svn目录.在这种情况下,您可以尝试删除/移动该目录,然后进行本地更新
似乎是存储库中问题的解决方案.我已经确定了那些文件夹并单独对这些特定文件夹进行了新的检查,并且哇,锁在随后的清理中被释放!非常感谢JesperE !!
但是,我仍然无法弄清楚现在读取的svn开关错误,
svn:'svn:// repourl/reponame/foldername'的存储库有uuid'm/reponame',但WC有'b5b39681-0ff6-784b-ad26-2846b9ea8e7d'
有任何想法吗 ?
如果在进行递归时得到"非工作副本",svn cleanup
我的猜测是你有一个目录应该是一个工作副本(即.svn
顶级目录这样说),但它缺少自己的.svn
目录.在这种情况下,您可以尝试删除/移动该目录,然后执行本地更新(即rm -rf content; svn checkout content
).
如果出现not a working copy
错误,则表示Subversion无法.svn
在其中找到正确的目录.检查是否有.svn
目录contents
如果可能的话,理想的解决方案是全新结账.
我遇到了类似的情况(svn: 'papers' is not a working copy directory
)以不同的方式,所以我想我会发布我的战斗故事(简化):
$ svn add papers svn: Can't create directory 'papers/.svn': Permission denied
哎呀!修复权限...然后:
$ svn add papers svn: warning: 'papers' is already under version control $ svn st ~ papers $ svn cleanup svn: 'papers' is not a working copy directory
甚至移开papers
并运行svn up
(适用于OP)并没有解决它.这是我做的:
$ mv papers papers_ $ svn cleanup $ svn revert papers Reverted 'papers' $ mv papers_/ papers $ svn add papers
那很有效.
我解决了
复制受影响文件夹的备份
SVN还原受影响的文件夹
从备份中粘贴文件
在我的情况下,问题是由于删除.svn文件.
也许你刚刚复制了文件夹树并尝试添加最低版本.
SVN |_ | subfolder1 | subfolder2 (here you get an error)
在这种情况下,您必须在上一级提交目录.