我想拥有一个存储库,它是我用于多个项目的框架。我希望能够克隆框架,然后将该克隆变成一个全新的项目。我还希望能够从框架中推出变更集,尽管它并不是非常的。
答案 0 :(得分:2)
我假设您希望更改仅框架文件以推送到框架仓库,但当然您不希望其他项目特定的更改被推送。
如果您能够将框架代码用作单独的实体,并且只需将其包含(使用C ++术语)到项目代码中,那么我建议您查看subrepos。
将框架设置为subrepo意味着您的新项目将包含框架作为子目录。如果你的一个项目更新了框架,你可以推送那个subrepo,并将其拉入其他项目,这意味着他们都可以使用最新版本,或者被锁定到框架的特定版本。
documentation涵盖了它的工作原理,或者在StackOverflow上设置它们时可能会有一些有用的提示。
答案 1 :(得分:0)
您可以使用正常的hg clone
操作克隆存储库。
hg push
的默认路径将是您克隆的位置,但您可以愉快地执行hg push <other_loc>
。
如果我怀疑您要为推送新功能设置默认路径,则只需编辑[paths]
的{{1}}部分即可。例如,如果您从这开始:
.hg/hgrc
您可以将其更改为
[paths]
default = ssh://hg@someserver/myrepo
这样,如果需要,您可以从[paths]
default = ssh://hg@someotherserver/mynewrepo
source = ssh://hg@someserver/myrepo
拉出来。
您甚至可以配置不同的默认推送和提取路径,如文档here
所示