问题描述
|
我想拥有一个用于多个项目的框架的存储库。我希望能够克隆该框架,然后将其克隆到一个全新的项目中。我还希望仍然能够从框架中推送变更集,尽管它不是必需的。
解决方法
我假设您希望将仅框架文件的更改推送到框架存储库中,但是当然您不希望其他项目特定的更改被推送。
如果您能够将框架代码用作单独的实体,并且只需将其(使用C ++术语)包含在项目代码中,则建议您研究subrepos。
将框架设置为子仓库将意味着您的新项目将把框架包含为子目录。如果您的一个项目更新了框架,则可以只推送该子仓库,然后将其拉入其他项目,这意味着它们都可以使用最新版本,或者被锁定到框架的特定版本。
该文档涵盖了它的工作方式,或者可能在此处在StackOverflow上设置了一些有用的提示。
, 您可以使用常规的“ 0”操作克隆存储库。
hg push
的默认路径将是您从中克隆的位置,但是您可以很高兴地执行hg push <other_loc>
。
如我所怀疑的,如果您想为推送和拉取新内容设置默认路径,则只需编辑.hg/hgrc
的[paths]
部分。例如,如果您以此开始:
[paths]
default = ssh://hg@someserver/myrepo
您可以将其更改为
[paths]
default = ssh://hg@someotherserver/mynewrepo
source = ssh://hg@someserver/myrepo
这样,您可以根据需要从ѭ7拔出。
您甚至可以配置不同的默认推入和拉入路径,如此处所述