Mercurial通用/本地文件



我已经使用hg好几年了,对此我很高兴!

我必须开始一个我从未做过的项目。这个想法是开发一个具有批处理模式和GUI的软件。

所以批处理和GUI模式都有共同的源,但每个源也包含特定的源。基本上,我希望我的同事能够克隆GUI版本,在上面工作并提交更改。然后,我希望能够将他们在公共文件上的更改与批处理版本合并。

我该怎么处理呢?

因为我已经读了一些关于这个话题的文章,我将非常感谢任何帮助!!

谢谢。binoua

作为subrepos的创建者,我强烈推荐而不是使用subrepos。

虽然子reppos可以用于将较大的项目分解为较小的部分,但这样做的好处往往被子reppos所涉及的额外复杂性和脆弱性所抵消。除非你的项目真的大,否则为了简单起见,你应该坚持使用一个项目的repo。

那么subrepos是用来干什么的呢?子仓库最适合管理独立项目的集合。例如,假设您正在构建一个围绕现有SCM的大型GUI工具。我建议你这样写:

scm-gui-build/ <- master build repo with subrepos:
  scm-gui/     <- independent repo for all the code in your GUI tool
  scm/         <- repo for the third-party SCM itself
  gui-toolkit/ <- a third-party GUI toolkit you depend on
  extensions/  <- some third-party extension to bundle
    extension-foo/  

在这里,你在一个普通的旧repo (scm-gui)中完成所有的工作,但是使用一个更高级别的主repo来管理构建/打包/版本控制/标记/发布整个集合。主scm-gui-build的repo只是一个薄薄的包装在其他正常的repo,这意味着如果有什么东西坏了(比如一个repo的url脱机),你可以继续在你的项目没有问题。

(参见:https://www.mercurial-scm.org/wiki/Subrepository#Recommendations)

相关内容

  • 没有找到相关文章

最新更新