如何将SVN旧版本Revision 18432重新关联至Customer A分支?
问题背景
我们有一个包含数千个文件的项目,其源代码控制历史可追溯至近20年前:
Revision 1 → Revision 2 → Revision 3 ... Revision 18352
此前有人需要为客户B复制当前开发版本,但未使用copy命令,而是直接通过add命令将文件添加至SVN新文件夹中,导致该分支丢失了全部历史:
| Customer A | Customer B |
|---|---|
| Revision 1 (2005) | Revision 18432 (2018) |
| Revision 2 | Revision 18421 |
| Revision 3 | Revision 18589 |
| Revision 219 | Revision 18968 |
| Revision 17768 | |
| Revision 18352 |
为客户C创建新分支时,我通过copy命令复制Customer B分支,尽可能保留了该分支的历史:
| Customer A | Customer B | Customer C |
|---|---|---|
| Revision 1 (2005) | Revision 18432 (2018) | |
| Revision 2 | Revision 18421 | |
| Revision 3 | Revision 18589 | |
| Revision 219 | Revision 18968 | |
| Revision 17768 | 复制到新分支→ | Revision20972 (2022) |
| Revision 18352 | Revision20973 | |
| Revision20975 | ||
| Revision21006 | ||
| Revision21248 |
但目前我处理的代码缺失了长达15年的源代码历史。
核心问题
如何将Customer B分支中的Revision 18432重新设置父级,使其追溯为Customer A分支中Revision 18352的副本,最终实现如下结构:
| Customer A | Customer B | Customer C |
|---|---|---|
| Revision 1 (2005) | ||
| Revision 2 | ||
| Revision 3 | ||
| Revision 219 | ||
| Revision 17768 | ||
| Revision 18352 | ||
| ⬑ 父级 | Revision 18432 (2018) | |
| Revision 18421 | ||
| Revision 18589 | ||
| Revision 18968 | ||
| ⬑ 父级 | Revision20972 (2022) | |
| Revision20973 | ||
| Revision20975 | ||
| Revision21006 | ||
| Revision21248 | ||
| Revision20975 | ||
| Revision21006 | ||
| Revision21248 |
内容的提问来源于stack exchange,提问作者Ian Boyd
相关产品推荐
相关产品推荐

