gpt4 book ai didi

svn - 用于开发团队的 GIT/Mercurial Crossover 与 SVN

转载 作者:行者123 更新时间:2023-12-04 06:41:09 24 4
gpt4 key购买 nike

问题是我希望能够使用 Mercurial 或 git 作为开发的前端,但在 Subversion 中进行变更集和更新,通常在集成分支或仅由脚本编写的内容中Mercurial,或者在 Hudson 注意到变化时。然后我们的 Mercurial 存储库使用其他使用 SVN 的开发人员所做的更改进行更新,我们提取更改并集成它们并在提供新的开发版本之前测试更改等。

有谁知道以下场景是否适用于 merge 和分支的开发团队?或者如果有更好的方法......除了强大的武装人员只使用一种工具?

以下策略由以下组件组成:

  • SVN
  • SVN 与 Mercurial 的一对一克隆
  • Mercurial 开发库

  • 在下面的配置中,更新通常会从 SVN/trunk pull 入克隆 (hgsubversion)。克隆将是只读的,并定期有一个脚本来 pull 更改。然后将克隆克隆到一个 Development 存储库中,该存储库是可读写的(它是一个常规的 Mercurial 存储库)。当开发人员将更改推送到此开发人员存储库时,驻留在集成分支中的元素将被推送到 SVN/集成分支。此分支仅由自动化脚本提交。如果其他使用 svn 的开发人员只将更改推送到 SVN 的主干中,则可以将它们 pull 入克隆并 merge 到 Mercurial 的环境中。缺点是您将失去更改来源的 SVN 级别的可见性。
    [[[[ trunk [[[[[[[[[[[[[[[[[[[[[[[[ SVN ]]]]]]]]]]]] branch/integration ]]]]]]]]]]]]]]]]]]
    | ^
    | |
    | |
    v |
    SVN - Mercurial Clone |
    | |
    | |
    | |
    v |
    Mercurial - Development ---------------------------- Branch - Integration

    最佳答案

    在使用 DVCS 的类(class)中​​,这实际上是我解释的主要用例之一,而且我认为它展示了 DVCSes 是多么令人敬畏......

    你有几种方法可以做到这一点。

    手动方式

    SVN/结帐代码,然后 Mercurial /初始化 Mercurial /提交 一切。然后,您可以在 Hg 下进行工作,根据需要在本地进行小的和频繁的原子修改。当你想提交回SVN时,你首先 Mercurial /升 到您在 SVN/结帐后所做的 Hg 修订版。您 SVN/up ,不会有 SVN 冲突,因为您刚刚从一个普通的 SVN 修订版更新。您 Mercurial /提交 , Mercurial /merge 然后 SVN/提交 .如果有人同时在 SVN 中提交,则重复该操作: Mercurial /升 到最后一个干净的 SVN 修订版, SVN/up Mercurial /提交+ merge .

    跟踪上次 SVN 干净修订的方式取决于您。您可以使用每次更改的标签,将 SVN 修订版保留在分支或单独的存储库中。 TIMTOWTDI

    额外的好处:这也是一种为使用 Hg 的人充当 SVN 提交者的方式,而他们又不受版本控制的影响。

    自动方式

    我从来没有那样用过,但是 tailor能够以两种方式反复进行 SVN/Hg 转换。

    关于svn - 用于开发团队的 GIT/Mercurial Crossover 与 SVN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4216942/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com