将带有子存储库的存储库推送到 bitbucket 时出错 "Repository is unrelated"
Error "Repository is unrelated" when pushing repository with sub-repository to bitbucket
有一个存储库 (GameFramework),我想将其用作另一个存储库中的子存储库。
我创建了一个新的主存储库,然后将 GameFramework 克隆到该存储库中,并将 GameFramework 设为子存储库。但是当我尝试将主存储库推送到 bitbucket 时出现错误:repository is unrelated
或 repository is unrelated (in subrepo [path])
这很奇怪,但是在错误发生后我清除了 bitbucket 存储库,然后再次推送它就可以了!
我拍了视频https://youtu.be/WI86_3I2ZH0
为什么会这样?
如果两个存储库不是同源的,那么 mercurial 认为它们是不相关的,因此是独立创建的。
如果不使用 --force
选项,mercurial 不允许推送到不相关的存储库。
在您的情况下,您(或其他人)可能在每个项目中分别独立地为子项目创建了一个存储库 - 而不是引用与子存储库相同的存储库。
解决这个问题有点棘手。可能最简单的方法是更改为其中一个子回购协议。从其他子仓库中提取并根据需要进行合并。也可以反过来做。
您需要更改.hgsub 文件。
默认情况下,此文件具有以下格式:
[folder to sub repo] = [folder to sub repo]
您需要更改它:
[folder to sub repo] = [sub repo url]
有一个存储库 (GameFramework),我想将其用作另一个存储库中的子存储库。
我创建了一个新的主存储库,然后将 GameFramework 克隆到该存储库中,并将 GameFramework 设为子存储库。但是当我尝试将主存储库推送到 bitbucket 时出现错误:repository is unrelated
或 repository is unrelated (in subrepo [path])
这很奇怪,但是在错误发生后我清除了 bitbucket 存储库,然后再次推送它就可以了!
我拍了视频https://youtu.be/WI86_3I2ZH0
为什么会这样?
如果两个存储库不是同源的,那么 mercurial 认为它们是不相关的,因此是独立创建的。
如果不使用 --force
选项,mercurial 不允许推送到不相关的存储库。
在您的情况下,您(或其他人)可能在每个项目中分别独立地为子项目创建了一个存储库 - 而不是引用与子存储库相同的存储库。
解决这个问题有点棘手。可能最简单的方法是更改为其中一个子回购协议。从其他子仓库中提取并根据需要进行合并。也可以反过来做。
您需要更改.hgsub 文件。 默认情况下,此文件具有以下格式:
[folder to sub repo] = [folder to sub repo]
您需要更改它:
[folder to sub repo] = [sub repo url]