我们正在将旧的 SVN 存储库迁移到 Git。这与svn2git配合得很好。现在我们想专门在 git 上工作,但需要将任何新的 git 提交镜像到旧的 SVN 存储库。这是必要的,因为一些生产系统仍然通过 SVN 部署。
所以我尝试git svn
在我之前运行的同一个存储库上使用svn2git
。我不是专家(还),但我认为,这样的事情应该可以解决问题:
$ git svn dcommit --interactive
Unable to determine upstream SVN information from HEAD history.
Perhaps the repository is empty. at /usr/lib/git-core/git-svn line 780.
我还尝试获取有关导入的 SVN 数据的一些信息:
$ git svn info
Unable to determine upstream SVN information from working tree history
因此,似乎svn2git
做了一些魔术并git svn
处于“未配置状态”。据我所知,git 必须保留一些引用以将 SVN 提交映射到 git 提交。相反的命令svn2git --rebase
起作用:它获取任何新的 SVN 提交并将它们应用到 git repo。所以数据似乎在那里并且可供svn2git
(AFAIK基于git svn
)使用。
那么我怎样才能git svn
工作呢?还是有另一种方法可以将 git 提交从那个新的 repo 反向移植到 SVN(无需从头开始)?