我们正在从Subversion迁移到Mercurial。为了便于迁移,我们创建了一个中间Mercurial存储库,它是我们的Subversion存储库的一个副本。所有开发人员将开始切换到Mercurial存储库,并且我们会定期将更改从中间Mercurial存储库推送到现有的Subversion存储库。经过一段时间之后,我们将简单地过时Subversion存储库,中间Mercurial存储库将成为新的记录系统。Mercurial到Mercurial到Subversion工作流程问题
Dev 1 Local --+--> Mercurial --+--> Subversion
Dev 2 Local --+ +
Dev 3 Local --+ +
Dev 4 -------------------------+
我一直在测试这一点,但我一直运行到一个问题,当我从我的本地库推的变化,中间Mercurial库,然后,进了我们的Subversion存储库。
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/01.png
在我的本地机器上,我有一个变更是承诺并随时准备推到我们中间Mercurial库。在这里,你可以看到它是修订#2263与哈希625 ...
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/02.png
我推只有这个变更到远程存储库。
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/03.png
到目前为止,一切看起来不错。变更集已被推送。
hg update
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
我现在切换到远程存储库,并更新工作目录。
hg push
pushing to svn://...
searching for changes
[r3834] bmurphy: database namespace
pulled 1 revisions
saving bundle to /srv/hg/repository/.hg/strip-backup/62539f8df3b2-temp
adding branch
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
rebase completed
接下来,我将这个改变推向Subversion,效果很好。此时,更改位于Subversion存储库中,并将注意力返回给本地客户端。
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/04.png
我拉更改我的本地机器。咦?我现在有两个变更集。我原来的变更集现在显示为本地分支。
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/05.png
其他变更有一个新的版本号2264,以及一个新的哈希10C1 ...
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/06.png
不管怎么说,我更新我的本地回购到新的修订。
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/07.png
我现在切换。
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/08.png
所以,我最后单击“确定并标记传出变更集”,正如你可以看到水银仍然要推出我以前的变更,即使他们已经被按下。
显然,我做错了什么。
我也不能合并这两个修订版。如果我在我的本地机器上合并这两个修订版,我最终会得到一个“合并”提交。当我将合并提交推送到中间Mercurial存储库时,我不能再将更改推送到我们的Subversion存储库。我结束了以下问题:
hg update
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
hg push
pushing to svn://...
searching for changes
abort: Sorry, can't find svn parent of a merge revision.
我必须回滚合并返回到工作状态。
我错过了什么?
所有的图像都坏了: - \ – 2010-10-23 14:51:14