Mercurial存储库使用二进制文件来构建安装文件

时间:2010-04-14 04:33:06

标签: mercurial

我在小型企业环境中有一个用于C ++应用程序的Mercurial存储库。我让一位同事将安装脚本添加到存储库,并将所有依赖项二进制文件,PDF和可执行文件添加到Install目录下的存储库中。我不喜欢在同一个存储库中使用二进制文件和依赖项,但我想了解最佳实践的建议。以下是我正在考虑的选项:

  1. 为。创建单独的存储库 安装程序和相关文件
  2. 为。创建一个子库 安装程序和相关文件
  3. 使用(尚未识别)构建 依赖经理
  4. 我担心使用Mercurial的子存储库基于我到目前为止所阅读的内容和(显然)不完整的实现。我想得到一个项目依赖系统,例如Ivy,但我不知道所有选项,还没有时间尝试任何选项。

    我以为我会使用TortoiseHg作为基础,虽然它有一些像kdiff3.exe这样的二进制文件,但它在存储库中没有TortoiseHg二进制文件。相反,它使用setup.py来克隆多个存储库并构建应用程序。这对于OSS来说似乎是合理的,但对企业环境来说并非如此。

    建议?

1 个答案:

答案 0 :(得分:3)

我很幸运使用了一个好的依赖管理器,但它对代码模块比工件更有用。子回购确实有效,但你不会削减人们拉顶树的克隆时间,因为它也会级联进入subrepo。

有人可能建议使用bfilesbig files,但我会避免使用它。它们的效果非常好,但是这个功能看起来好像今年夏天本来就变得多变,那时候它们会萎靡不振。

我是你我(a)击中同事(b)尝试剥离这些添加的文件(使用条带或转换),(c)重新执行它将构建的安装程序不存储。

我可能存储的PDF,但有一些neat tricks for generating docs if you're interested