您可以使用Mercurial从一个项目更新另一个项目吗
我会尽量简明扼要地解释我的情况: 我有一个模板项目,在启动新项目时用作模板(duh)。 这个模板项目不断发展,有时我会在处理另一个项目时更新它 想象一下:您可以使用Mercurial从一个项目更新另一个项目吗,mercurial,Mercurial,我会尽量简明扼要地解释我的情况: 我有一个模板项目,在启动新项目时用作模板(duh)。 这个模板项目不断发展,有时我会在处理另一个项目时更新它 想象一下: 模板项目:Template.file 项目A:template.file和projectA.file 项目B:template.file和projectB.file (所有项目都处于修订控制之下)现在,当我更改项目A中的template.file时,我希望所有其他项目中的所有其他template.file都更新 我在windows上,使用
- 模板项目:Template.file
- 项目A:template.file和projectA.file
- 项目B:template.file和projectB.file
我在windows上,使用的是陆龟,在这个版本控制游戏中我是比较新的。我想我会用树枝做这个?但是projectA.file和ProjectB.file不也会被添加到模板项目中吗?下面是一些您可以做的事情: 进入模板项目并合并到项目A中,然后在提交之前删减所有不想要的内容。这相当费时费力 然后您可以进入项目be并从模板项目中提取,然后非常小心地合并 我不会这样做的原因有很多。首先,它凌乱而且容易出错。其次,它会导致两个项目都包含所有其他项目的所有文件,即使在tip修订中,这些文件被视为已删除。历史仍然在那里
下面是您可以做的另一件事: 使用
hg export
从项目A导出修改模板文件的更改。然后使用hg import
将该更改导入模板项目
然后从模板项目拉入项目A和项目B并合并
这要求您在修改项目时严格遵守规则,并始终对模板文件进行修改,以使其能够自行更改
或者,您可以手动修改导出的更改以删除无关的更改
这里是你可以做的第三件事:
始终仅在模板项目中修改模板文件。然后,您可以将模板项目拉入项目A和项目B并合并。Mercurial中没有任何东西可以让您轻松地使用它 你可以:
这就是Mercurial处理此类事情的方式。您是否通过克隆原始模板项目来启动新项目?我想我想要的是根本不可能的(至少在没有大量变通技巧的情况下是不可能的)。无论如何,谢谢你的回答。也许有一天它会派上用场。@Brent:我认为
hg export
方法比你所说的基本上手动控制版本的方法更适合你。那些子存储库接近我想要的,但还不够。基本上,我希望一些文件是存储库A的一部分,而其他文件是存储库B的一部分,但仍然能够将它们作为一个项目一起使用,而不必担心文件/目录结构。你不能这样做,你也必须将文件复制到所有存储库中(这意味着不同的文件,不同的历史记录,没有跨存储库的干净合并功能),或者将它们合并为一个(这意味着一个文件,一个历史记录,如果您想要多个这样的文件,请返回到第一个)。哦,好吧,我现在将继续使用文件名的版本号,直到找到更好的工作流为止。