最近我们的Subversion (SVN)服务器发生了变化,我们进行了SVN切换。
由于工作副本有大量未版本化的资源,因此工作副本被锁定,我们开始为SVN下的所有文件夹逐个切换文件夹,这非常好。
但是在存储库的最高层,当我试图更新文件时,我得到一个错误,说svn:工作副本'。的锁。试图清理也无济于事;它会导致诸如svn: 'content'不是一个工作拷贝目录之类的错误。
新的结帐根本不是一个选项。我还可以如何清理和释放锁并完成svn切换过程?
最近我们的Subversion (SVN)服务器发生了变化,我们进行了SVN切换。
由于工作副本有大量未版本化的资源,因此工作副本被锁定,我们开始为SVN下的所有文件夹逐个切换文件夹,这非常好。
但是在存储库的最高层,当我试图更新文件时,我得到一个错误,说svn:工作副本'。的锁。试图清理也无济于事;它会导致诸如svn: 'content'不是一个工作拷贝目录之类的错误。
新的结帐根本不是一个选项。我还可以如何清理和释放锁并完成svn切换过程?
当前回答
当我试图从一个大型SVN项目中检出部分源代码时,我也遇到了同样的错误:
svn co --depth empty svn://tug.org/texlive/trunk/Build
cd Build
svn update --set-depth infinity --parents ./source/texk/web2c
在这里,父母是成功的关键。
其他回答
我也有同样的问题。结果我们在同一台机器上有SlikSVN 1.6.2和TortoiseSVN。Tortoise已经更新了(也更新了工作副本),但是SlikSVN没有,所以Tortoise工作正常,但是命令行失败了:
svn:”。不是工作副本目录
删除TortoiseSVN和SlikSVN,然后用命令行工具重新安装TortoiseSVN,为我修复了这个问题。
我以不同的方式进入了类似的情况(svn: 'papers'不是一个工作拷贝目录),所以我想我将发布我的战斗故事(简化):
$ svn add papers
svn: Can't create directory 'papers/.svn': Permission denied
哦!修复权限……然后:
$ svn add papers
svn: warning: 'papers' is already under version control
$ svn st
~ papers
$ svn cleanup
svn: 'papers' is not a working copy directory
甚至把文件移开,运行svn up(对OP有效)也没能解决问题。以下是我所做的:
$ mv papers papers_
$ svn cleanup
$ svn revert papers
Reverted 'papers'
$ mv papers_/ papers
$ svn add papers
这工作。
我刚刚遇到了这样一种情况:.svn目录位于另一台机器上的NFS服务器上,NFS客户端没有运行文件锁定服务(lockd)。
svn: E155007: '/mnt/svnworkdir' is not a working copy
在NFS客户端主机上启动lockd之后,这个问题就消失了。
当Subversion无法锁定文件时,它似乎可以提供更好的错误消息。这是Subversion 1.10.0
我在svn diff操作中也遇到了这个问题。这是由错误的文件路径引起的。你应该加上‘。/'表示当前文件目录。
当我在代码上执行mvn release:prepare时,我看到了这个错误。就我而言,我已经将项目从SVN迁移到GitHub,并从GitHub克隆了源代码。但是在我的pom.xml文件中,我没有将SCM位置从SVN URL更新到GitHub URL,导致工作目录不匹配。
纠正URL到GitHub位置帮助我解决了这个问题。