最近我们的Subversion (SVN)服务器发生了变化,我们进行了SVN切换。

由于工作副本有大量未版本化的资源,因此工作副本被锁定,我们开始为SVN下的所有文件夹逐个切换文件夹,这非常好。

但是在存储库的最高层,当我试图更新文件时,我得到一个错误,说svn:工作副本'。的锁。试图清理也无济于事;它会导致诸如svn: 'content'不是一个工作拷贝目录之类的错误。

新的结帐根本不是一个选项。我还可以如何清理和释放锁并完成svn切换过程?


当前回答

删除本地机器中存在的.svn文件夹。按下windows图标并输入.svn,删除整个文件夹。这对我很管用。

其他回答

我在svn diff操作中也遇到了这个问题。这是由错误的文件路径引起的。你应该加上‘。/'表示当前文件目录。

我刚刚遇到了这样一种情况:.svn目录位于另一台机器上的NFS服务器上,NFS客户端没有运行文件锁定服务(lockd)。

svn: E155007: '/mnt/svnworkdir' is not a working copy

在NFS客户端主机上启动lockd之后,这个问题就消失了。

当Subversion无法锁定文件时,它似乎可以提供更好的错误消息。这是Subversion 1.10.0

同样,我需要更新一个'contrib'文件夹:

把旧文件夹移出来, 复制一个新的 将.svn文件夹复制到每个新文件夹中(在我的例子中只有三个)。

我的情况下,问题是由于删除。svn文件夹。

解决了。

可能是工作副本格式不匹配。它在SVN 1.4和1.5之间发生了变化,新的工具会自动转换格式,但旧的工具不再使用转换后的副本。

我也有同样的问题。结果我们在同一台机器上有SlikSVN 1.6.2和TortoiseSVN。Tortoise已经更新了(也更新了工作副本),但是SlikSVN没有,所以Tortoise工作正常,但是命令行失败了:

svn:”。不是工作副本目录

删除TortoiseSVN和SlikSVN,然后用命令行工具重新安装TortoiseSVN,为我修复了这个问题。