移动svn存储库后的git svn?

移动svn存储库后的git svn?,svn,git-svn,Svn,Git Svn,我们最近将SVN服务器从一个数据中心移动到另一个数据中心,服务器的IP发生了变化。我使用svn开关重新定位旧url和新url来更新我的实际工作副本,这很高兴 然而,我的大部分工作是在本地git版本的存储库中完成的(显然是使用git svn)。移动SVN服务器后,我在.git/config中更新了repo的URL,但当我尝试使用dcommit时,收到以下错误: Unable to determine upstream SVN information from HEAD history. Perha

我们最近将SVN服务器从一个数据中心移动到另一个数据中心,服务器的IP发生了变化。我使用svn开关重新定位旧url和新url来更新我的实际工作副本,这很高兴

然而,我的大部分工作是在本地git版本的存储库中完成的(显然是使用git svn)。移动SVN服务器后,我在
.git/config
中更新了repo的URL,但当我尝试使用
dcommit
时,收到以下错误:

Unable to determine upstream SVN information from HEAD history.
Perhaps the repository is empty. at /home/me/libexec/git-core/git-svn line 520.

我缺少什么?

一般来说,这不是git svn直接支持的东西。最大的障碍是git svn使用“git svn id”(在每次提交的提交日志中可见)来唯一标识来自svn的提交,而svn URL是该id的一部分。如果URL发生更改,它几乎会使所有现有历史无效


这里描述了一些解决方法,它们看起来应该是可行的,但它们并不简单,我自己也没有尝试过任何一种方法。

通过克隆两个repo,合并它们,然后重建git svn元数据,git svn就可以做到这一点


看看我的答案。

谢谢。我曾担心会出现这种情况,但我并不太担心失去工作。在重新导入SVN内容后,我可以随时拉入我的分支。我已经尝试了在上的链接中描述的解决方法,它确实对我有效。是的,在我的
中使用相同的
url
rewriteRoot
。git/config
也帮了我的忙!好极了