在我的代码库中,我添加了几个子代码库,这些子代码库是我正在使用的模块。我将始终将这些子代码库视为“只拉取”。我不打算对它们进行任何更改,但希望保留轻松拉取新版本更改的能力。
当我推送主代码库时,Mercurial会尝试推送子代码库。是否有任何设置可以防止这种情况发生?
根据您所需的行为,有一些事情可以做。
如果您实际上是在子仓库中编辑和提交更改,那么您应该创建一个类似于供应商分支的单独仓库,在其中将您的更改与上游(“他们”的)更改合并,并使您的子仓库指向该仓库。也许可以这样做:
repos
main
subrepo
.hgsub # contains: "subrepo=../theirproject"
theirproject # clone of remote, upstream repo
commitsubrepos = false
,以避免意外在该仓库中提交。hg outgoing
显示了任何内容,则表示您已经进行了更改(并提交)。您能否更新您的问题,并附上在父仓库中执行hg push
时看到的具体输出? - Ry4an Brase.hgsub
文件指向本地克隆而不是远程仓库。然后,即使没有更改,推送检查也应该是瞬间完成的。 - Ry4an Brase取决于您使用的Mercurial客户端。我使用Tortoisehg,并发现在Tortoisehg中右键单击文件夹并选择文件,然后点击“忘记”就足够了。选择这些文件,您将不需要再次麻烦。