我的subversion VM在前几天死亡(主机硬件已熔化),我不得不恢复vmware服务器映像的备份副本。恢复进行得很顺利,VM又在新主机上运行。
我遇到的问题是我恢复的存储库是修订版60,但我的PC上的工作副本是66.当我尝试提交我的工作副本时,我收到以下错误消息。
svn: Commit failed (details follow):
svn: No such revision 61
强制进行此提交并将subversion升级到与我的工作副本相同的修订版的最佳方法是什么?
答案 0 :(得分:13)
我不认为您的旧工作副本可以“教导”新SVN服务器有关缺失的修订版本(61-66)。
我建议:
此时新的SVN服务器将是最新的。
答案 1 :(得分:2)
从已恢复的存储库中执行新的结帐。将更改从现有工作副本复制到新的签出,然后提交。
您不想复制.svn目录。像rsync这样的工具可以帮助同步到两个目录。
rsync --del --exclude=".svn"
如果有很多差异,例如新文件和已删除的文件,svn_load_dirs.pl可能会有所帮助。
答案 2 :(得分:0)
如果没有备份,这种方法比用于使结帐备份和运行的可接受方法快得多。此外,rsync不是Windows操作系统的原生。
使用SQLLite读取SVN .db文件并手动更新修订版号可能是另一种解决方案。
参考:How can I create SVN versioning on top of an existing project?