有公共回购mercurial(不是我的)。它包含两个subrepos。我已经为主repo和两个subrepos做了一个分支。我想不时创建pull请求,但我无法使subrepos正常工作。 当我克隆我的分叉回购,它将被下载,但两个subrepos将保持原来的,不是我的分叉。如果我将它们替换为分叉,我将无法提出请求,因为我不想将原始仓库切换到我的子仓库。但是我想改变回购和subrepo。 一旦我找到了解决方案。我修改了subrepo的.hg文件夹中的hgrc文件。TortoiseHG,叉与subrepos - 强制提交和推.hgsubstate只有
It was:
[paths]
default = ssh://[email protected]/originator/subrepo
它变成:
[paths]
Me = ssh://[email protected]/Me/subrepo
Original = ssh://[email protected]/originator/subrepo
这是工作,正是因为它应该。我更改了代码,推送到我的subrepo,为subrepo创建了请求。然后,我推动了我的主要回购协议中的更改,并且它很简单。 .hgsubstate现在正在尝试在分叉的repo上存在,但不是原始的。当orignator将megre都拉请求,一切都会工作。
我说过,它以前有效,但不是现在。出于某种奇怪的原因,我不能只推送指向分叉子文件夹中存在的新子版本修订的.hgsubstate。我根本无法将它包含在提交中。我点击“提交”,但在结果提交它不包括在内。我不知道如何强制包括 - HG太“聪明”了。另外TortoiseHG将我的subrepo标记为脏。但是,如果我尝试添加.hgsubstate和我的脏回购,它出于某种原因试图将更改推送到发件人的回购。看起来像我的HG不能提交.hgsubstate而不会将更改推送到subrepo本身。 有什么办法解决这个问题?我想要的一切就是提交并推送.hgsubstate而不做其他任何事情。
这将帮助我使用我的回购,但它不是一个现实问题。问题是,如果我修改.hgsub,修改后的版本将在拉取请求中提供。这是一个问题 - 我不能只修改.hgsub。 –