最近我们的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'
有任何想法吗 ?
Jes*_*erE 125
如果在进行递归时得到"非工作副本",svn cleanup我的猜测是你有一个目录应该是一个工作副本(即.svn顶级目录这样说),但它缺少自己的.svn目录.在这种情况下,您可以尝试删除/移动该目录,然后执行本地更新(即rm -rf content; svn checkout content).
如果出现not a working copy错误,则表示Subversion无法.svn在其中找到正确的目录.检查是否有.svn目录contents
如果可能的话,理想的解决方案是全新结账.
Ken*_*old 47
我遇到了类似的情况(svn: 'papers' is not a working copy directory)以不同的方式,所以我想我会发布我的战斗故事(简化):
$ svn add papers
svn: Can't create directory 'papers/.svn': Permission denied
Run Code Online (Sandbox Code Playgroud)
哎呀!修复权限...然后:
$ svn add papers
svn: warning: 'papers' is already under version control
$ svn st
~ papers
$ svn cleanup
svn: 'papers' is not a working copy directory
Run Code Online (Sandbox Code Playgroud)
甚至移开papers并运行svn up(适用于OP)并没有解决它.这是我做的:
$ mv papers papers_
$ svn cleanup
$ svn revert papers
Reverted 'papers'
$ mv papers_/ papers
$ svn add papers
Run Code Online (Sandbox Code Playgroud)
那很有效.
小智 5
也许你刚刚复制了文件夹树并尝试添加最低版本.
SVN
|_
|
subfolder1
|
subfolder2 (here you get an error)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您必须在上一级提交目录.