相关疑难解决方法(0)

在Mercurial中组织具有共享依赖项的项目的好方法是什么?

目前,我正在从遗留版本控制系统转移并将我的团队项目转移到mercurial.作为我正在移动的代码类型的一个例子,我有一个25+项目的Visual Studio解决方案,包含几个独立的应用程序区域,这些区域都依赖于公共代码.查看Stack Overflow,我发现的最接近的问题就是这个问题,但它只提到了版本控制.我正在寻找有关使用Mercurial管理这些依赖项的具体实现技术的进一步建议.

依赖关系的简化视图如下所示.(这仅用于说明和示例;实际依赖性明显更复杂,但性质相似.)

                     Common Lib 1
                    /      |      \
                ----       |       -----   
               /           |        \   \
            App 1    Common Lib 2    \ App 2
                       /   |   \      \
                -------    |    ------ |
               /           |          \|
             App 3       App 4      App 5
Run Code Online (Sandbox Code Playgroud)

Common Lib模块将是共享代码 - 这将是一个DLL或SO或一些其他库,可以在编译和运行时同时在所有应用程序之间使用.否则,应用程序将能够彼此独立地运行.

设置我的mercurial存储库有几个目标:

  • 为每个重要的应用程序或组件组提供自己的存储库
  • 使每个存储库自包含.
  • 使项目的总和自包含.
  • 可以轻松地立即构建整个代码库.(最终,所有这些程序和库最终都在一个安装程序中.)
  • 把事情简单化.

另一点是我有一个服务器设置,我为每个项目都有单独的存储库.

我看到了几种铺设这些项目的方法.

1.创建一个包含所有内容的"Shell"存储库.

这将使用基于url的子版本(例如,在.hgsub中,我会做类似的事情.)做出来,它将如下所示:App1 = https://my.server/repo/app1

+---------------------------+
| Main Repository           |
| | +---------------------+ |
| +-| Build               | |
| | +---------------------+ |
| …
Run Code Online (Sandbox Code Playgroud)

mercurial project-management subrepos

62
推荐指数
1
解决办法
4869
查看次数

在Mercurial中推送/拉取特定文件/文件夹

我(仍在)试图将我们公司的SVN完全迁移到HG.在大多数情况下,我已经成功,但我们遇到了一个问题.

我们的代码库有30多个不同的项目,每个项目都在其文件夹中.

我被多次询问如何提交,然后将特定文件推送到我们的中央存储库,而不是被迫在任何地方提交所有内容然后推送它,这当然很烦人.不能只拉动特定项目也是一件麻烦事.

有没有办法处理这个像我们以前在SVN一样?我们可以在哪里提交我们想要的而不是一切,只更新必要的内容.

谢谢.

mercurial

1
推荐指数
1
解决办法
508
查看次数

标签 统计

mercurial ×2

project-management ×1

subrepos ×1