2011-01-14 133 views
5

我们最近将SVN服务器从一个数据中心移到另一个数据中心,服务器的IP已经改变。我用svn switch --relocate old_url new_url来更新我的实际工作副本,这很高兴。然而,我在本地git版本的仓库中完成了大部分工作(显然,使用git-svn)。移动SVN服务器后,我更新为.git/config回购的URL,但是当我尝试使用dcommit,我收到此错误:SVN仓库移动后的git-svn?

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

我缺少什么?

回答

4

通常,这不是git-svn直接支持的东西。最大的障碍是,git-svn使用“git-svn-id”(在每次提交的提交日志中可见)唯一标识来自SVN的提交 - 而SVN URL是此ID的一部分。如果URL更改,则几乎使所有现有的历史记录无效。

有解决方法here看起来像他们应该工作,但他们不是很简单,我没有尝试过任何他们自己。

+0

谢谢。我担心情况会如此,但我并不担心失去工作。重新导入SVN内容后,我总是可以拉入分支。 – codekoala 2011-01-14 19:51:09

0

可以用git-svn做到这一点,克隆两个仓库,合并它们,然后重新构建git-svn元数据。

查看我的回答here