mercurial - 你能用 Mercurial 从一个项目更新另一个项目吗

标签 mercurial

我会尽可能简洁地解释我的情况:

我有一个模板项目,我在开始新项目时将其用作模板 (duh)。 这个模板项目不断发展,有时我会在处理另一个项目时更新它。

想象一下:

  • 模板项目:template.file
  • 项目 A:template.file & projectA.file
  • 项目 B:template.file & projectB.file

(所有项目都在修订控制下)现在,当我更改项目 A 中的 template.file 时,我希望所有其他项目中的所有其他 template.files 都更新

我在 Windows 上使用 tortoisehg,我对这个版本控制游戏还比较陌生。我想我会用分支来做这个?但是 projectA.file 和 ProjectB.file 不会也被添加到模板项目中吗?

最佳答案

这是你可以做的事情:

进入模板项目并 merge 到项目 A 中,然后在提交之前删除所有不需要的内容。这是相当费力和耗时的。

然后您可以进入 project be 并从模板项目中拉取并非常小心地 merge 。

出于多种原因,我不会这样做。首先,它困惑且容易出错。其次,它会导致两个项目都包含所有其他项目的所有文件,即使在最新修订中这些文件被认为已删除。历史仍然存在。


这是您可以做的另一件事:

使用 hg export 从项目 A 导出修改模板文件的更改。然后使用 hg import 将该更改导入您的模板项目。

然后从模板项目中拉取到项目A和项目B中并 merge 。

这要求您在修改项目 A 时自律,并始终对模板文件进行修改。

或者,您可以手动修改导出的更改以删除无关的更改。


这是您可以做的第三件事:

始终只在模板项目中修改模板文件。然后你可以从模板项目中拉取到项目 A 和 B 中并 merge 。

关于mercurial - 你能用 Mercurial 从一个项目更新另一个项目吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5929065/

相关文章:

mercurial - 有没有考虑到 Mercurial 设计的构建工具?

git - 使用 Mercurial 和 hg-git 作为 github 客户端

version-control - 分支后如何编辑 Mercurial 提交消息?

git - SVN 是否允许提交和推送?

mercurial - 如何为 mercurial revert 命令制作特殊的文件过滤器?

date - 获取 hg 提交的 Unix 时间戳(以秒为单位)

python - TortoiseHG 图标丢失(Ubuntu Linux 16)

mercurial - 我如何递归地从 mercurial 跟踪系统中删除文件夹

svn - 如何从 Mercurial 创建与 SVN 兼容的补丁程序?

mercurial - 如何对所有丢失的文件执行 Mercurial 的 'hg remove' 操作?