gpt4 book ai didi

mercurial - 将代码和数据保存在单独的存储库中的优点和缺点

转载 作者:行者123 更新时间:2023-12-02 20:00:21 24 4
gpt4 key购买 nike

我们有一个项目,其中包含数据和代码,捆绑到单个 Mercurial 存储库中。数据与代码一样重要(它包含业务逻辑的参数、一些输入等)。但是,数据文件的格式很少更改,并且独立于代码更改数据文件是很自然的。

统一存储库的一个优点是我们不必跟踪多个修订版本:如果我们需要重新创建先前运行的输出,我们只需将系统更新为存储在输出日志。

一个缺点是,如果我们在多个磁头处于事件状态时修改数据,我们可能会丢失数据更改,除非我们手动将这些更改复制到每个磁头。

将代码和数据拆分到单独的存储库还有其他优点/缺点吗?

最佳答案

多个存储库:

  • 优点:

    • component-based approach (您确定可以相互独立发展的一组文件)
    • 配置规范:您列出系统运行所需的引用(此处为“修订版”)。如果您想修改一个部分而不更改其他部分,则可以更新该列表。
    • 部分克隆:如果您不需要所有组件,则只能克隆您想要的组件(不适用于您的情况)
  • 缺点

    • 配置管理:您需要跟踪该配置(通常通过父存储库,注册 subrepos)
    • 就您的情况而言,数据非常依赖于项目的某些版本(您可能拥有对项目的旧版本没有意义的新数据)
<小时/>

一个存储库

  • 优点
    • system-based approach :您将模块视为一个系统(项目和数据)。
    • repo 管理:一体化
    • 模块之间的紧密链接(这对数据有意义)
  • 缺点
    • 数据传播(正如您提到的,当多个 HEAD 处于事件状态时)
    • 中间修订(不是为了反射(reflect)新功能,而是因为某些数据发生了变化)
    • 更大的克隆(此处不相关,除非您的数据包含大型二进制文件)

对于不经常更改的非二进制数据,我仍然会将它们保留在同一个存储库中。

关于mercurial - 将代码和数据保存在单独的存储库中的优点和缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13640292/

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