代码之家  ›  专栏  ›  技术社区  ›  Mizipzor

如何在迁移到mercurial后从SVN repos中提取更改

  •  3
  • Mizipzor  · 技术社区  · 14 年前

    我正在为一个使用SVN的开源项目开发补丁。我没有提交权限,但我想版本跟踪我自己的更改。我跟随 this guide 读取并将svn repos转换为hg repos。

    我想能够 从官方SVN中提取新的更改 把我自己的本地副本,怎么能做到?导入后,本地文件夹包含一个未跟踪的 .hgignore 文件。我应该加上一个由Mercurial跟踪的吗?

    我也调查过 this tool 但它似乎更倾向于只在与SVN回购相关的Mercurial本地工作。我想把我反复无常的休息放在上面 bitbucket 对此,前导游似乎更有意义。

    可能是想的太早了,但等我的贡献完成后,产生一个补丁往上游发送的最好方法是什么?有什么我应该马上知道的注意事项吗?

    编辑: orip's answer (它的编辑部分)非常准确地总结了我想做的事情: local hg copy 哪能 update svn 而且 push 我的网上 bitbucket 回购。

    4 回复  |  直到 14 年前
        2
  •  2
  •   gbjbaanb    14 年前

    svn update

    svn diff > myPatch.diff (更新SVN回购后)

        3
  •  2
  •   gizmo    14 年前

    你可以考虑与 MQ . 因此,您可以同时由两个VCS管理一个项目:

    • SVN:用于与主存储库保持最新
    • 你将在哪里表演 addremove 从SVN每次更新之后的命令,以及在哪里使用MQ编写补丁。

    这样做的话,在将补丁提供给主存储库的时候会更容易一些。

        4
  •  1
  •   orip    14 年前

    您使用的指南将svn转换为hg,但它是用于一次性转换,而不是用于持续的互操作性。

    你想要类似的东西 hgsubversion .

    编辑:刚刚注意到你在问题中链接了它。在BitBucket上保存存储库的克隆不应该有问题——在本地与SVN和hgSubversion交互,并像通常那样推到BitBucket——您有一个常规的hg repo。