dm3*_*dm3 6 svn git mercurial gateway
目标是Hg在完全转换为Hg之前为SVN 制作一段前端.
设置可能看起来如下所示(与上面提到的问题相同),但是我不确定中间Hg存储库的确切拓扑.
Dev1 Hg --> Hg <--> SVN
Dev2 Hg -/
Run Code Online (Sandbox Code Playgroud)
我知道上面的设置可以使用git并且git-svn如本评论中所述:
Dev1 Git --> Git (bare) <--> Git (bridge) <--> SVN
Dev2 Git -/
Run Code Online (Sandbox Code Playgroud)
建立:
无论是SVN
git svn init还是git svn cloneSVN.然后它成为"Git/SVN Bridge".修复任何分支,标签等...这里.该
svn/*裁判被认为是遥控器,所以如果你想跟踪分支,检查这些遥控器出来,并创建相应的地方分支机构.另外,检查标签,并创建实际标签.您必须为要在Git和SVN之间同步的任何SVN分支创建本地分支.现在,在
git init某处创建一个新的裸存储库(),并从桥中将所有分支推送到裸存储库(git push –tags).所有Git用户现在克隆这个裸存储库.该桥只由一个(或几个)了解如何同步Git和SVN的人维护.
要通过网桥更改主服务器上的SVN中继,反之亦然:
git svn fetch(获取新的SVN更改)
git checkout master
git pull master(从裸仓库中获取Git更改)
git checkout svn/trunk(结账分离头)
git merge –no-ff –log master(合并来自master的更改).–no-ff确保实际提交,–log从主服务器上的每个提交中复制单个日志消息(–log是可选的).如果要编辑提交消息,则可以运行git commit -amend.
git svn dcommit(这会将您的合并提交推送到SVN.请注意,提交位于分离的头上,不再可访问).您在master上的所有工作(因为master和merge的合并基础svn/trunk)都作为单个更改提交,现在可供SVN用户使用.
git checkout master
git merge svn/trunk(从SVN获取新的更新 - 使用更改的提交消息 - 并合并到master)
git push barerepo(使GN用户可以使用SVN更改)
我不知道的是,是否有可能以某种方式在Hg上复制上述内容.正如我所看到的(我是Git的中间用户并且了解使用Hg的基础知识),Hg的障碍是:
hgsubversion上面的列表中的步骤n.6推送合并提交.什么停止hgsubversion做什么svn dcommit?)是否有可能使Hg-SVN网关以与Git-SVN网关相同的方式工作?如果不是,为什么?
| 归档时间: |
|
| 查看次数: |
604 次 |
| 最近记录: |