最近我们的Subversion (SVN)服务器发生了变化,我们进行了SVN切换。
由于工作副本有大量未版本化的资源,因此工作副本被锁定,我们开始为SVN下的所有文件夹逐个切换文件夹,这非常好。
但是在存储库的最高层,当我试图更新文件时,我得到一个错误,说svn:工作副本'。的锁。试图清理也无济于事;它会导致诸如svn: 'content'不是一个工作拷贝目录之类的错误。
新的结帐根本不是一个选项。我还可以如何清理和释放锁并完成svn切换过程?
最近我们的Subversion (SVN)服务器发生了变化,我们进行了SVN切换。
由于工作副本有大量未版本化的资源,因此工作副本被锁定,我们开始为SVN下的所有文件夹逐个切换文件夹,这非常好。
但是在存储库的最高层,当我试图更新文件时,我得到一个错误,说svn:工作副本'。的锁。试图清理也无济于事;它会导致诸如svn: 'content'不是一个工作拷贝目录之类的错误。
新的结帐根本不是一个选项。我还可以如何清理和释放锁并完成svn切换过程?
当前回答
删除本地机器中存在的.svn文件夹。按下windows图标并输入.svn,删除整个文件夹。这对我很管用。
其他回答
我只是得到了“没有工作副本”,对我来说,原因是Unix上的Automouter。 只需要一个新的“cd /path/to/work/directory”就可以了。
也许你只是复制了文件夹树,并试图添加最低的一个。
SVN
|_
|
subfolder1
|
subfolder2 (here you get an error)
在这种情况下,你必须在上层提交目录。
我刚刚遇到了这样一种情况:.svn目录位于另一台机器上的NFS服务器上,NFS客户端没有运行文件锁定服务(lockd)。
svn: E155007: '/mnt/svnworkdir' is not a working copy
在NFS客户端主机上启动lockd之后,这个问题就消失了。
当Subversion无法锁定文件时,它似乎可以提供更好的错误消息。这是Subversion 1.10.0
这就是我所做的:
将trunk重命名为trunk_ 创建一个新的文件夹主干 在签出少量文件后,重新签出并中断该过程 将文件从trunk_移动到trunk 执行svn cleanup 执行svn update。这将更新文件的状态,然后所有文件都将进行版本控制。
对于Mac:从服务器端进行签出,将打开一个新窗口,从本地机器中选择目录。然后将所有代码放入所选文件夹中。然后打开SVN本地端。添加并提交项目。