使用Mercurial对公共项目的私有加载项

时间:2017-03-08 16:19:28

标签: mercurial

我有一个小型的开源C ++项目,使用Mercurial托管在Bitbucket上。 现在,我正在开发一个新功能,它添加了几个新文件和新构建目标;否则它不会改变现有文件。

我已经开了一个新的分支,但在我把它推到主回购后我被告知我无法打开新功能..所以我关闭了回购并开始寻找解决方案。我有两个问题:

  1. 对于这种情况,这会是一个好方法吗?我需要一些东西,允许我同步公共和私人仓库之间的公共代码修复。我不介意只在本地使用私有代码。我发现了两件事:

    • 将新分支用于新分支;但我不知道如何修复我在秘密分支中的公共文件到开放式仓库

    • 使用subrepos;这需要一些代码重组,但可能更清晰......我只是困扰我,这在文档中被标记为“最后的特征”。

  2. 如何修复已将已关闭代码推送到回购代码的情况?剥离分支并推送是否有帮助,或者我是否需要从Bitbucket删除repo并创建一个新的?

1 个答案:

答案 0 :(得分:1)

由于我很高兴只在本地拥有私人分支机构,所以我做了以下工作:

  • 我从bitbucket repo以及我的本地副本中剥离了私人分支。

  • 在我的私人仓库副本中,我将更改从公共分支合并到私有分支,然后将私有分支中更改的所有公共文件复制到公共文件中。

  • 然后我将整个私人分支标记为“秘密”,以使其保持本地化。

为了将来的工作,我计划使用hg merge将更改从公共分支移动到私有分支,并hg graft用于反向移动。

据我所知,这应该有用......