我们正在将旧的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仓库。因此svn2git
(AFAIK基于git svn
)的数据似乎存在且可用。
那么我怎样才能让git svn
工作?或者是否有另一种方法可以将git提交从新的repo向后移植到SVN(无需从头开始)?
答案 0 :(得分:1)
尝试“git svn rebase”。
我遇到了完全相同的问题,并使用了托管@vhttps://github.com/nirvdrum/svn2git的包装脚本。 请花点时间阅读SVN to GIT migration failed using svn2git。