如何在维护历史记录的同时将git repo推送到现有的SVN repo?

时间:2011-10-28 14:26:40

标签: git svn git-svn

我有一个项目的git repo,它是在SVN官方回购建立之前启动的。 git repo的目录结构类似于:

docs/
src/
  herp/
  derp/

我想将其推入现有的SVN repo(其他人正在使用),以便SVN中的目录结构如下所示:

branches/
tags/
trunk/
  ... (other stuff) ...
  fizzbot/
    docs/
    src/
      herp/
      derp/

(因为fizzbot本质上是一个单独的子项目)

  1. 我想这可以使用git-svn,但我不确切知道如何。
  2. 如果我能做#1,有没有办法做到这一点,同时保留我在git repo中所做的所有修改的历史记录?
  3. 提前致谢。

1 个答案:

答案 0 :(得分:0)

我认为你的想法是:

  1. rebase / cherry选择git-svn(通过git-svn签出的svn repo)头上的所有相关提交,但更大的问题是你有效地尝试

  2. merge two separate repos ,这可能有点难以做到。虽然我在相关的git-svn repo和git repo之间运行(即git repo是从git-svn repo克隆的),但我从未尝试过将git-svn repo与不相关的git repo合并,但是理论上应该可以解决可能发生的任何合并冲突。好处是,一旦你能达到-1-你几乎没有家庭,并且在你做dcommit之前不会发生真正的伤害(即便如此,也可以选择干跑)