当我运行'svn cleanup'时,它说工作副本太旧了,需要升级它。
当我运行'svn upgrade'时,它运行了,但没有任何提示。
我还在仓库上运行了'svnadmin upgrade',以防万一。
我安装了最新的TortoiseSVN。
通常,如果我遇到SVN问题,我会将文件移出来,更新,然后将文件移回去,但正如我之前提到的,这是一个非常大的仓库。
任何帮助都将不胜感激。
谢谢!
具体信息:
>svn update
svn: E155004: Run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
svn: E155004: Working copy '*****' locked.
svn: E155004: '*****' is already locked.
>svn cleanup
svn: E155036: Please see the 'svn upgrade' command
svn: E155036: The working copy at '*****' is too old (format 29) to work with client version '1.8.1 (r1503906)' (expects format 31). You need to upgrade the working copy first.
>svn upgrade
>
更新1:我安装了一个1.7.X客户端并尝试运行清理。不知何故,它抱怨仓库不是工作副本。我尝试使用相同的1.7.X客户端进行更新,得到以下消息:
>"c:\Program Files\SlikSvn\bin\svn.exe" update
svn: E155021: This client is too old to work with the working copy at '*****' (format 31).
You need to get a newer Subversion client. For more details, see http://subversion.apache.org/faq.html#working-copy-format-change
所以,这个客户认为仓库的格式是31。而TortoiseSVN认为它是29格式。现在我更加困惑了。
更新2: 回复@David W
Is this about a working copy or the repository?
工作副本。虽然我也尝试了对存储库的svnadmin升级。不过,我使用的svnadmin是1.8.1版本的。我刚刚尝试使用TortoiseSVN 1.8.10来升级存储库,但没有解决问题。
is this about a file that's locked because someone locked it, or because your working directory is locked due to an incomplete
我是唯一使用该仓库的人,所以我知道没有其他人锁定它。这可能是由于操作不完整造成的。
我在1.8.10下运行了svn状态,没有一个文件有“K”。有一些文件带有“L”,还有一个文件带有“?”。除了标记为“?”的一个文件外,所有列出的项都是目录而不是文件。
如果我运行“svn lock --force dirname”,它会响应该特定节点“不是文件”。当我对标记为“?”的文件运行它时,它会响应该节点“未找到”。
Then, there is a locked working directory because of an incomplete operation...
没错,你说得对。这就是为什么所有的东西都标有'L',我猜测。
当我运行清理程序(1.8.10)时,它给了我与我的初始问题相同的错误(格式29太旧,无法适用于格式31的客户端)。
Remember that you can always delete a working directory and create a new one
是的。如果我删除工作副本中的任何目录并更新,它会抱怨该目录被锁定。由于格式不匹配,我无法清除锁定。理论上,我可以重新检出整个仓库,然后将文件复制回来,但该仓库大小为12GB(210,000个文件)。
Be careful about mixing up Subversion clients
所以,我不知道我有两个客户端,但我只使用TortoiseSVN(1.8.10)。今天当我尝试解决问题时才发现我有两个客户端。
* 更新3:解决方案 * 使用@David W的提示,这是我如何解决问题的步骤: 1)备份我的.svn文件夹 2)从https://github.com/sqlitebrowser/sqlitebrowser/releases下载了一个SQLite编辑器。 3)打开我的wc.db文件并浏览WC_LOCK表。该表中有1个条目,我将其删除。 4)尝试使用TortoiseSVN(1.8.10)运行清理,之前报告了锁定问题。它终于工作了! 5)尝试在我的存储库中运行命令(更新、提交等),一切都很顺利。
感谢所有帮助过我的人,特别是@David W没有放弃我。
svn cleanup
之后再返回到您的1.8.x客户端进行升级。 - Rup