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

mercurial(hg)和二进制文件

  •  2
  • Chuck  · 技术社区  · 16 年前

    我正在编写一组django应用程序,希望使用hg进行版本控制。我希望每个应用程序独立于其他应用程序,因此在每个应用程序中可能都有一个静态媒体目录,其中包含我不希望在版本控制下使用的图像。换句话说,二进制文件不可能都在一个中心位置。

    我想找到一种克隆存储库的方法,其中包括映像文件的副本。当我进行合并时,如果一个repo中有一个图像文件而另一个repo中没有图像文件,那么会出现某种警告,这也会很好。

    目前,我使用一个python脚本来查找一个repo中的图像和其他二进制文件,而不是另一个repo中的图像和其他二进制文件。但是很多人必须面对这个问题,所以必须有一个更加健壮和优雅的解决方案。

    还有一件事……因为我不想进入的原因,通常我的一个repo在Windows机器上,另一个在Linux上。所以一个跨平台的解决方案是不错的。

    3 回复  |  直到 9 年前
        1
  •  2
  •   msarchet    16 年前

    Mercurial可以跟踪任何类型的文件,对于二进制文件,如果有什么更改,那么整个文件将被替换,而不仅仅是更改。

    如果一个回购协议不包含一个文件,就会收到一个警告,这就是DVC的观点,即回购协议是相关的,但是自主的。您总是可以检查并查看在同步或合并操作期间添加了哪些文件。

        2
  •  8
  •   Luis Soeiro    14 年前

    因为Mercurial 2.0的扩展 largefiles 现在包含在主分发中。该扩展在“普通”存储库之外保留和管理大型文件,这样您就可以从DCV中获得好处,但不会从指数大小和处理时间增长中获益。

    沿类似线路工作的其他延长线为 SnapExtension 和 BigFilesExtension . 然而,这两个版本并没有随mercurial一起发布(您必须手动获取它们)。

        3
  •  0
  •   CodeFox    10 年前

    电流 Mercurial book (布莱恩·奥沙利文)说,Mercurial也为二进制文件存储差异。这有多有效,显然取决于对二进制文件的更改的性质。

    推荐文章