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

如何实现源代码管理互通?

  •  3
  • INS  · 技术社区  · 17 年前

    虽然之前有人问过相关问题,但我想了解如何实现两个源代码管理(SCM)系统之间的互操作性。例如,我们可以考虑任何SCM(Mac,Git,Svn,CVS,PixCE,CuleCase.…)。

    如何让另一个SCM(ClearCase旁边)维护远程ClearCase维护的源代码树?

    虽然其他人可以使用ClearCase,但我们希望使用“其他”SCM并在该存储库中提交更改。ClearCase存储库中的更改应该很快或定期进行(并且应该定期从ClearCase存储库进行更新,以确保我们拥有最新的源代码)

    欢迎提供任何(其他/相关)示例/经验。谢谢

    附:这是 不

    6 回复  |  直到 17 年前
        1
  •  4
  •   Philippe F    17 年前

    我真的不建议把它们混在一起。管理一个SCM是一项非常复杂的任务,您不希望普通用户必须处理其中几个SCM。

    git+subversion或mercurial+subversion的优点是,返回到主存储库是该工具的一部分,但没有它也可以生存。

        2
  •  1
  •   Harald Schilly    17 年前

    我想到的一件事是 git-svn :“它提供Subversion和git存储库之间的双向更改流。”

        3
  •  1
  •   Keltia    17 年前

    .cvsignore / .hgignore 或者让他们合作(比如 git svn

        4
  •  1
  •   David Schmitt    17 年前

    通过一种非常通用的方式,您可以始终将“外部”(您的案例中是ClearCase)回购协议的当前负责人提交到git分支,在此基础上重新设置您自己的分支的基础,并将结果提交回“外部”回购协议。起泡,冲洗,重复。

        5
  •  1
  •   finpingvin    17 年前

    我知道至少有几种不同的解决方案:

    • 通用的 SCM互操作性解决方案,如 exchange标准是用Git创建的,但受到Bazaar和Mercurial或其他工具的支持 Tailor (但裁缝有它的局限性)
    • 具体的
    • i、 e.使用公共工作区(工作目录)从一个SCM获取更改(签出),并将更改添加到其他SCM。这需要设置适当的忽略文件,以便一个SCM忽略其他特定于SCM的帮助文件和目录。
    • 服务器仿真 在集中式SCM(如CVS)和其他SCM(如Git)之间进行交互的情况下,模拟集中式SCM的服务器,但在其他SCM中具有存储库,如Git svnserver
    • 数据后端 其中一个SCM(如Bazaar或DARC)以其他SCM格式在存储库中存储更改(数据)。我不知道这种解决办法的例子。
        6
  •  0
  •   Community Mohan Dere    9 年前

    BlueBird75 :混合使用两个不同的引用并不是一个好主意,出于同样的原因,拥有多个具有相同类型信息的数据库也不是一个好主意。在这些情况下,同步和复制不容易管理。

    我们确实为其他不使用ClearCase的团队将ClearCase存储库(VOB)中管理的一些数据“发布”给其他VCS(Subversion、Perforce等)或存储库(如Maven)。但是,导出的数据仅限于 .

    这样,只有少数文件被导出到客户端,并且只有在构建交付并表示重要的稳定版本时才会导出。