最近我们的Subversion (SVN)服务器发生了变化,我们进行了SVN切换。
由于工作副本有大量未版本化的资源,因此工作副本被锁定,我们开始为SVN下的所有文件夹逐个切换文件夹,这非常好。
但是在存储库的最高层,当我试图更新文件时,我得到一个错误,说svn:工作副本'。的锁。试图清理也无济于事;它会导致诸如svn: 'content'不是一个工作拷贝目录之类的错误。
新的结帐根本不是一个选项。我还可以如何清理和释放锁并完成svn切换过程?
最近我们的Subversion (SVN)服务器发生了变化,我们进行了SVN切换。
由于工作副本有大量未版本化的资源,因此工作副本被锁定,我们开始为SVN下的所有文件夹逐个切换文件夹,这非常好。
但是在存储库的最高层,当我试图更新文件时,我得到一个错误,说svn:工作副本'。的锁。试图清理也无济于事;它会导致诸如svn: 'content'不是一个工作拷贝目录之类的错误。
新的结帐根本不是一个选项。我还可以如何清理和释放锁并完成svn切换过程?
当前回答
对于Mac:从服务器端进行签出,将打开一个新窗口,从本地机器中选择目录。然后将所有代码放入所选文件夹中。然后打开SVN本地端。添加并提交项目。
其他回答
我就犯了这个错误。我注意到我进错目录了。一旦我恢复到SVN Trunk目录,问题就解决了。
今天早上我发现同样的问题,/FILE_NAME/ is not a working copy,我花了两个多小时才解决。经过长时间的RND和谷歌,我找到了一些解决方案,那就是结帐。
作为一个新项目从Subversion签出到本地。 更改Java文件中的一些代码并提交项目。 这对我很管用。
这就是我所做的:
将trunk重命名为trunk_ 创建一个新的文件夹主干 在签出少量文件后,重新签出并中断该过程 将文件从trunk_移动到trunk 执行svn cleanup 执行svn update。这将更新文件的状态,然后所有文件都将进行版本控制。
如果你在做递归的svn清理时得到了一个“非工作副本”,你可能有一个子目录,它应该是一个工作副本(即顶层的.svn目录这么说),但是子目录缺少它自己的.svn目录。
在这种情况下,您可以移动或删除该目录,然后进行本地更新。若要删除该目录,
rm -rf content
svn checkout content
警告:rm -rf将永久删除文件夹内容。
如果您得到一个not a working copy错误,这意味着Subversion无法在content子目录中找到正确的.svn目录。检查内容中是否有.svn目录。
如果可能的话,理想的解决方案是重新结账。
svn: 'svn://repourl/reponame/foldername'的存储库有uuid 'm/reponame',但WC有'b5b39681-0ff6-784b-ad26-2846b9ea8e7d'
每个Subversion存储库都有一个唯一标识符(UUID)。Subversion使用这一点来确保在执行诸如切换之类的操作时,存储库实际上是相同的。您可能应该将服务器上的UUID更改为与以前相同。