我的同事和我一直在使用SVN进行项目。过去几周我们一直在同一个分支机构工作,必要时提交和合并文件。三天前,我们的SVN服务器死了,我们丢失了所有数据。我(愚蠢地)没有定期备份到单独的服务器,因此我所拥有的最佳备份是我们所处的200次修订。
有没有办法让我们的签出副本全部正确合并并返回SVN?
我不关心修订历史。我只是想确保我所拥有的所有代码都与我的同事所拥有的代码正确合并。
答案 0 :(得分:2)
我要做的第一步是在持有较旧工作副本修订版的计算机上执行命令svn diff
。它会创建一个diff文件,其中包含有关上次检出的当前版本的更改。
第二次复制已检出更新版本的计算机上的签出结构,并将其与崩溃的存储库断开连接(删除所有.svn元数据目录)。然后将其检入新的清理存储库。
现在获取先前创建的diff文件并将其应用于刚签入的工作副本。希望您只能得到一些较小的冲突,这些冲突可以由您或您的同事轻松解决。如果所有问题都解决了,请检查。
注意:本说明旨在创建一个全新的存储库。过时的备份尚未考虑。
答案 1 :(得分:1)
这应该有所帮助:
svnadmin recover <svn path>
OR
svnadmin verify <svn path>