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

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

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

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


当前回答

今天早上我发现同样的问题,/FILE_NAME/ is not a working copy,我花了两个多小时才解决。经过长时间的RND和谷歌,我找到了一些解决方案,那就是结帐。

作为一个新项目从Subversion签出到本地。 更改Java文件中的一些代码并提交项目。 这对我很管用。

其他回答

您必须从项目中删除一个SVN基文件(这些文件是只读文件)。因此你会得到这个错误。

再次签出一个新项目,使用WinMerge将旧SVN项目的更改(如果有的话)与新项目合并,并在最近的签出中提交更改。

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

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

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

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

当我试图从一个大型SVN项目中检出部分源代码时,我也遇到了同样的错误:

svn co --depth empty svn://tug.org/texlive/trunk/Build
cd Build
svn update --set-depth infinity --parents ./source/texk/web2c

在这里,父母是成功的关键。

处理:

重命名不是“工作副本”的目录。 再次签出/更新/恢复此目录。 将重命名目录中的文件移动到新目录中。 提交更改。

原因:

您对.svn目录下的一些文件做了一些更改,这破坏了“工作副本”。