我们曾经有几个项目的共享SVN存储库,昨天,我们的SVN管理员创建了一个特定于我们项目的新SVN存储库。
我将现有的项目结帐重新定位到新的SVN存储库但现在,当我进行SVN更新时,收到错误消息,如"No such revision 223297".
实际上,新存储库只包含特定于我们项目的修订数量(大约33000
次提交),而旧版本只有223400
。
我想知道是否可以将现有的已检出文件夹切换到新的存储库?否则,我将不得不做一些干净的结账。
答案 0 :(得分:6)
显然,您的管理员未能包含填充修订,这在使用svndumpfilter拆分存储库时通常是强烈推荐的。
否则绝对不可能使用您的存储库更新您的工作副本,因为SVN将自己定位在修订号上,而您的存储库(技术上讲)是一个不同的存储库(通常存储库的UUID也不应该匹配。怪癖应由你的管理员修复)。此外,如果您使用像bugtracker这样的外部工具来保存修订号以将内容链接到您的源代码,那么这些引用也会丢失。
最好的解决方案是在没有svndumpfilter开关的情况下重做存储库创建 - drop-empty-revs 然而,您在新存储库中的工作将丢失..
答案 1 :(得分:1)
备份工作目录
删除顶部工作目录下的.svn目录
查看整个工作目录。
为我工作......
答案 2 :(得分:0)
猜猜你必须做一些干净的结账。
在我的情况下,我们的SVN管理员完全从旧存储库创建了一个新的SVN存储库克隆。当我将工作副本重新定位到新的SVN存储库后,我得到了相同的消息。
然后我发现那是因为我在重新定位到新存储库之前进行了SVN更新,并且修订版号超出了新存储库中的修订版号。
所以,这是我的解决方案:
<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管理员创建新存储库之前的版本)希望这对你有所帮助。