关注https://groups.google.com/forum/#!topic/visualsvn/2LpBN8qtEfM
之后以下过程描述了如何“撤消”对svn的最后一次提交
存储库(fsfs后端)在极端情况下:(请测试它
在实际之前,在你的环境中对“测试”回购彻底
应用它)
假设错误的修订号是$BAD_REV
db/rev/$BAD_REV
db/revprops/$BAD_REV
警告:要求所有用户删除使用$BAD_REV
的结帐
并使用($BAD_REV
减1)重新检查。
在此过程后第二次提交后,我收到以下错误:
错误提交失败(详情如下):
错误已损坏 表示' 199 10142 111 1475(null)
错误d18718662872fab9aa981c20a47921768f567189(null)
不确定如何解决此问题,我不想创建新的存储库。
答案 0 :(得分:1)
您通过手动编辑内部存储库来破坏存储库。事实上,阿里的手术是有害的。除非您确实知道自己在做什么,否则不得触摸存储库内部。我希望你有这个回购的备份。
您是否阅读过the thread you refer in the question? Simon explicitly discourages使用Ali指定的程序
我们不建议使用该程序删除最新修订版。 Subversion存储库结构比它看起来更复杂。
通常,您只需在工作副本中还原不必要的更改即可 提交正确的修订。如果你真的需要删除最后修订版 从存储库中按照以下步骤操作:
备份存储库。
转储除最后一个之外的所有修订。假设最后一次修订是10:
svnadmin.exe dump -r1:9 <repository path> > repo.dump
。创建新存储库。
- 醇>
将转储装载到新存储库:
svnadmin.exe load <new repository path> < repo.dump
。
如果您没有备份,那么修复存储库的唯一可能解决方案就是按照以下步骤操作:
svnadmin verify
工具<path-to-repository>\db\
目录,从目录中删除rep-cache.db
文件并尝试再次通过Subversion客户端访问它(例如尝试对repo进行任何更改)。
除非存储库完全损坏,否则它可能会有所帮助。
尽管如此,我强烈建议您恢复存储库的备份,并遵循使用svnadmin dump
和svnadmin load
工具的正确步骤。
答案 1 :(得分:0)
似乎删除了存储库文件夹中的 rep-cache.db 文件。
“Representation”让我相信它被缓存在某个地方。
希望这个修复能够持续下去,我希望能够在类似的情况下帮助其他人。
答案 2 :(得分:0)
通过svnadmin工具将svn存储库从一台服务器移动到另一台服务器时,我遇到了完全相同的问题。
我所做的是删除我创建的新仓库,并在不强制 UUID 的情况下再次导入。
您可以稍后通过 svnadmin setuuid [some id]
设置UUID