重定位后的SVN更新失败并显示“无此修订”消息

时间:2012-10-19 07:41:33

标签: svn version-control

我们曾经有几个项目的共享SVN存储库,昨天,我们的SVN管理员创建了一个特定于我们项目的新SVN存储库。

我将现有的项目结帐重新定位到新的SVN存储库但现在,当我进行SVN更新时,收到错误消息,如"No such revision 223297".

实际上,新存储库只包含特定于我们项目的修订数量(大约33000次提交),而旧版本只有223400

我想知道是否可以将现有的已检出文件夹切换到新的存储库?否则,我将不得不做一些干净的结账。

3 个答案:

答案 0 :(得分:6)

显然,您的管理员未能包含填充修订,这在使用svndumpfilter拆分存储库时通常是强烈推荐的。

否则绝对不可能使用您的存储库更新您的工作副本,因为SVN将自己定位在修订号上,而您的存储库(技术上讲)是一个不同的存储库(通常存储库的UUID也不应该匹配。怪癖应由你的管理员修复)。此外,如果您使用像bugtracker这样的外部工具来保存修订号以将内容链接到您的源代码,那么这些引用也会丢失。

最好的解决方案是在没有svndumpfilter开关的情况下重做存储库创建 - drop-empty-revs 然而,您在新存储库中的工作将丢失..

答案 1 :(得分:1)

  1. 备份工作目录

  2. 删除顶部工作目录下的.svn目录

  3. 查看整个工作目录。

  4. 为我工作......

答案 2 :(得分:0)

猜猜你必须做一些干净的结账。

在我的情况下,我们的SVN管理员完全从旧存储库创建了一个新的SVN存储库克隆。当我将工作副本重新定位到新的SVN存储库后,我得到了相同的消息。

然后我发现那是因为我在重新定位到新存储库之前进行了SVN更新,并且修订版号超出了新存储库中的修订版号。

所以,这是我的解决方案:

  1. 重新定位回旧存储库
  2. 使用<system.webServer> <httpErrors errorMode="Custom" existingResponse="Replace"> <remove statusCode="404" subStatusCode="13" /> <error statusCode="404" subStatusCode="13" prefixLanguageFilePath="" path="http://yourwebsite.com/path/to/page" responseMode="Redirect" /> </httpErrors> </system.webServer> 将您的工作副本更新为旧版本(仅 SVN管理员创建新存储库之前的版本
  3. 重新定位到新存储库,现在再次尝试进行SVN更新:)
  4. 希望这对你有所帮助。