我看过其他类似的帖子和答案。但我的情况更受以下限制:
分支 repo/A 有子分支 repo/B 和 repo/C。C 将新的 foo.c 推送/合并到 A。然后 B 拉/合并以获取 foo.c,然后推送/合并其他更改。假设 B 的修订在 pull 后从 10 更改为 11。现在分支 B 的一切都搞砸了,所以我希望 B 回到修订版 10 并认为拉动从未发生过。
因此,我查看了这些帖子,并想通过以下步骤解决问题:
- svnadmin 转储 $(repo/B) -r 0:10 | svnadmin 加载 $(newRepo/B)
现在我想使用原始的回购网址:
2.1)备份以防止任何事情搞砸: svnadmin copy $(repo/B) $(repo/B_backup)
2.2) 复制新的:svnadmin copy $(newRepo/B) $(repo/B);
现在我希望 UUID 相同,并且我没有 svnadmin setuuid,因为 svn 版本是 1.4。所以:
3.1)在第1步之前,svn info $(repo/B)记录原始UUID
3.2)在第2步之后,在某处打开$(repo / B)的日志,然后将原始UUID复制到它
现在 $(repo/B) 具有修订版 10 和相同的 UUID。
我的问题是
完成所有这些之后,分支 A 和 C 也会改变吗?
我的解决方案中是否缺少任何内容,因为我不想再搞砸了?或者更好的方法?
谢谢