【发布时间】:2023-03-23 12:13:02
【问题描述】:
根据How to migrate SVN with history to a new Git repository,我已将项目的 Subversion 存储库迁移到 Git。它运行得非常好,除了由于我们历史上对 Subversion 的一些错误使用而导致一个断开的分支。我不确定用什么术语来描述这个分支的状态。这是它的样子:
trunk: ...-A1---> <---A3----A4-...
beta: B1--B2--B3--B4----B5
据我所知,这就是发生的事情。在修订版 B1 中,使用 cp 而不是 svn cp 创建了一个新的“beta”分支。在修订版 B4 和 A3 中,整个存储库已从 /svnroot/project/orig 移动到 /svnroot/project (我认为这与问题无关,但我提到它以防万一)。在 A4 中,使用 mv 和 rm 命令而不是 svn merge 将“beta”分支合并回主干。
如何修复 Git 存储库历史记录,以便 B1 正确地从 A1 分支,并且 B5 合并回 A4时间>?请注意,“beta”分支中实际上有 75 个修订版。
【问题讨论】:
-
您知道 B1 的确切底座吗? Base 表示已提交
cp的提交。 -
我做了 A1 和 B1 树之间的差异。它们是相同的。