2008-09-11 32 views
7

我跑进了一会儿的问题后,我从来没有发现的...一个很好的解决方案从恢复稍显落伍颠覆库备份

假设你有一个工作拷贝修订版7500从Subversion签出,和持有当前存储库的磁盘死亡。例如,版本7450有一个备份库。恢复存储库备份很容易,但是任何试图对其使用工作副本的尝试都会提示错误,指出存储库中不存在版本7500。

什么是检查一个巨大的修订版本以便使存储库的内容与工作副本的内容相匹配并使其工作副本恢复到功能状态的最佳方法?

(理想情况下,我想要一些比检查全新工作副本更容易,然后手动复制所有文件 - 我认为当时工作副本用于配置管理服务器,所以它是一个真正的痛苦,必须检查干净的工作副本)

+0

看起来你的提交翻了一番,可能想要得到这一个! – ConroyP 2008-09-11 13:39:16

回答

6

您可以在某处检出rev.7450拷贝,然后导出您的7500副本(删除.svn文件夹)。将导出的副本(最新副本)拖到7450副本上。所有新文件都应该简单地覆盖旧文件,使.svn文件夹保持不变。

Subversion会认为你只是做了一大堆的变化到7450,接下来将签设置为7451.

5

做一个新的结帐到一个不同的文件夹,然后使用diff程序来创建一个补丁。将补丁应用到您的新工作副本。

1

如果你是积极的,你已经有了目录中的最新版本,那么这样做:

  1. 从仓库中
  2. 删除SVN引用删除项目从您的副本
  3. 检查你的代码作为一个新的副本。
  4. 看看你只是在
1

可以在缺失的修订号通过加载转储文件装满了一堆空修订版本的检查代码。有回答讨论如何在How can I change the revision number of a repository做到这一点。以这种方式加载除一个版本以外的所有版本,然后您可以在最后一个巨版中检入所有更改。