最近我们的Subversion (SVN)服务器发生了变化,我们进行了SVN切换。
由于工作副本有大量未版本化的资源,因此工作副本被锁定,我们开始为SVN下的所有文件夹逐个切换文件夹,这非常好。
但是在存储库的最高层,当我试图更新文件时,我得到一个错误,说svn:工作副本'。的锁。试图清理也无济于事;它会导致诸如svn: 'content'不是一个工作拷贝目录之类的错误。
新的结帐根本不是一个选项。我还可以如何清理和释放锁并完成svn切换过程?
最近我们的Subversion (SVN)服务器发生了变化,我们进行了SVN切换。
由于工作副本有大量未版本化的资源,因此工作副本被锁定,我们开始为SVN下的所有文件夹逐个切换文件夹,这非常好。
但是在存储库的最高层,当我试图更新文件时,我得到一个错误,说svn:工作副本'。的锁。试图清理也无济于事;它会导致诸如svn: 'content'不是一个工作拷贝目录之类的错误。
新的结帐根本不是一个选项。我还可以如何清理和释放锁并完成svn切换过程?
当前回答
也许你只是复制了文件夹树,并试图添加最低的一个。
SVN
|_
|
subfolder1
|
subfolder2 (here you get an error)
在这种情况下,你必须在上层提交目录。
其他回答
处理:
重命名不是“工作副本”的目录。 再次签出/更新/恢复此目录。 将重命名目录中的文件移动到新目录中。 提交更改。
原因:
您对.svn目录下的一些文件做了一些更改,这破坏了“工作副本”。
您必须从项目中删除一个SVN基文件(这些文件是只读文件)。因此你会得到这个错误。
再次签出一个新项目,使用WinMerge将旧SVN项目的更改(如果有的话)与新项目合并,并在最近的签出中提交更改。
当我试图从一个大型SVN项目中检出部分源代码时,我也遇到了同样的错误:
svn co --depth empty svn://tug.org/texlive/trunk/Build
cd Build
svn update --set-depth infinity --parents ./source/texk/web2c
在这里,父母是成功的关键。
这就是我所做的:
将trunk重命名为trunk_ 创建一个新的文件夹主干 在签出少量文件后,重新签出并中断该过程 将文件从trunk_移动到trunk 执行svn cleanup 执行svn update。这将更新文件的状态,然后所有文件都将进行版本控制。
可能是工作副本格式不匹配。它在SVN 1.4和1.5之间发生了变化,新的工具会自动转换格式,但旧的工具不再使用转换后的副本。