最近我们的Subversion (SVN)服务器发生了变化,我们进行了SVN切换。
由于工作副本有大量未版本化的资源,因此工作副本被锁定,我们开始为SVN下的所有文件夹逐个切换文件夹,这非常好。
但是在存储库的最高层,当我试图更新文件时,我得到一个错误,说svn:工作副本'。的锁。试图清理也无济于事;它会导致诸如svn: 'content'不是一个工作拷贝目录之类的错误。
新的结帐根本不是一个选项。我还可以如何清理和释放锁并完成svn切换过程?
最近我们的Subversion (SVN)服务器发生了变化,我们进行了SVN切换。
由于工作副本有大量未版本化的资源,因此工作副本被锁定,我们开始为SVN下的所有文件夹逐个切换文件夹,这非常好。
但是在存储库的最高层,当我试图更新文件时,我得到一个错误,说svn:工作副本'。的锁。试图清理也无济于事;它会导致诸如svn: 'content'不是一个工作拷贝目录之类的错误。
新的结帐根本不是一个选项。我还可以如何清理和释放锁并完成svn切换过程?
当前回答
我也有同样的问题。结果我们在同一台机器上有SlikSVN 1.6.2和TortoiseSVN。Tortoise已经更新了(也更新了工作副本),但是SlikSVN没有,所以Tortoise工作正常,但是命令行失败了:
svn:”。不是工作副本目录
删除TortoiseSVN和SlikSVN,然后用命令行工具重新安装TortoiseSVN,为我修复了这个问题。
其他回答
如果你在做递归的svn清理时得到了一个“非工作副本”,你可能有一个子目录,它应该是一个工作副本(即顶层的.svn目录这么说),但是子目录缺少它自己的.svn目录。
在这种情况下,您可以移动或删除该目录,然后进行本地更新。若要删除该目录,
rm -rf content
svn checkout content
警告:rm -rf将永久删除文件夹内容。
如果您得到一个not a working copy错误,这意味着Subversion无法在content子目录中找到正确的.svn目录。检查内容中是否有.svn目录。
如果可能的话,理想的解决方案是重新结账。
我也有同样的问题。结果我们在同一台机器上有SlikSVN 1.6.2和TortoiseSVN。Tortoise已经更新了(也更新了工作副本),但是SlikSVN没有,所以Tortoise工作正常,但是命令行失败了:
svn:”。不是工作副本目录
删除TortoiseSVN和SlikSVN,然后用命令行工具重新安装TortoiseSVN,为我修复了这个问题。
我就犯了这个错误。我注意到我进错目录了。一旦我恢复到SVN Trunk目录,问题就解决了。
处理:
重命名不是“工作副本”的目录。 再次签出/更新/恢复此目录。 将重命名目录中的文件移动到新目录中。 提交更改。
原因:
您对.svn目录下的一些文件做了一些更改,这破坏了“工作副本”。
jesere提到您需要更改UUID。以下内容将帮助您实现这一目标。
在SVN 1.5+上,可以执行svnadmin setuuid;然后,您可以使用svnlook uuid检查它是否被正确设置。在SVN的早期版本中,这是一个比较困难的过程。请参见管理存储库uuid。
此外,“m/reponame”的UUID看起来可疑。我相信它应该是一个十六进制的数字,就像工作副本一样,所以也许这个动作会全面改善事情:-)