我在云中托管了一个基于文件的SVN存储库。不知何故,我昨天晚些时候设法提交了修订版5001、5002和5003,今天尝试提交了5004 ...只是让它坚持认为5001版不存在。我强烈怀疑我的云同步已覆盖或删除了文件,但是我找不到恢复丢失内容的依据。
很明显,在repo / db / revs中,最多可以存在5000个转速,5002和5003也一样,但是5001丢失了。我确切地知道此修订是如何生成的-是否有任何方法可以从涉及的文件中重新生成它?也许我可以创建一个仓库的副本,回滚到5000,然后再次提交文件?
更新:遵循关于恢复到先前版本(例如5000)的TortoiseSVN指令不起作用-它们导致错误:没有5001这样的修订。这些指令建议不要使用svnadmin/svndumpfilter
...,但这似乎是唯一可行的选择。
答案很简单:用于svnadmin dump
创建仓库的转储。由于转储过程从修订版1开始,因此它转储了所有有效的修订版,然后没有将无效的修订版添加到转储中。然后可以从转储中创建一个新的存储库,并重新创建后续的更改。
许多其他svn选项似乎都可以从HEAD修订版倒退,从而导致它们在这种情况下失败。