将子存储库与位桶一起使用



我在尝试将子存储库推送到 bitbucket 时遇到此错误:

D:Workagile.crm.framework>hg push
warning: bitbucket.org certificate with fingerprint 81:2b:08:90:dc:d3:71:ee:e0:7
c:b4:75:ce:9b:6c:48:94:56:a1:fe not verified (check hostfingerprints or web.cace
rts config setting)
http authorization required
realm: Bitbucket.org HTTP
user: the_drow
password:
warning: bitbucket.org certificate with fingerprint 81:2b:08:90:dc:d3:71:ee:e0:7
c:b4:75:ce:9b:6c:48:94:56:a1:fe not verified (check hostfingerprints or web.cace
rts config setting)
pushing to https://the_drow@bitbucket.org/the_drow/agile.crm.framework
pushing subrepo Logging to https://the_drow@bitbucket.org/the_drow/agile.crm.fra
mework/Logging
warning: bitbucket.org certificate with fingerprint 81:2b:08:90:dc:d3:71:ee:e0:7
c:b4:75:ce:9b:6c:48:94:56:a1:fe not verified (check hostfingerprints or web.cace
rts config setting)
abort: HTTP Error 404: NOT FOUND

我遇到了这个描述如何解决问题的链接,但我不明白该怎么做。
我应该将我的日志记录子存储库放在D:Work中吗?
我到底应该如何处理汞子路径?这是否使我能够在本地克隆?

编辑:根据要求,这是我的 .hgsub 文件的内容

Logging = Logging

如您发布的链接中所述,"您必须将子存储库作为主存储库的兄弟姐妹。

因此,在 BitBucket 上,您需要以下结构:

https://bitbucket.org/the_drow/agile.crm.framework
https://bitbucket.org/the_drow/Logging

然后,agile.crm.framework 内部的.hgsub需要包含以下内容:

Logging = ../Logging

我要提出一个老问题,因为我认为我有更好的解决方案。我理解为什么@the_drow对原始接受的答案有问题,因为Logging = ../Logging您的本地机器必须将日志记录子存储库作为包含/主存储库的对等方。从组织的角度来看,这违背了子存储库的目的。但是,如果您使用子路径功能,则可以让 Mercurial 在推送时为您重写 URI:

external/my_subrepo = external/my_subrepo
[subpaths]
([https://|ssh://hg@])bitbucket.org/moswald/my_project/external/my_subrepo = 1bitbucket.org/moswald/my_subrepo

现在,我的my_subrepo子存储库的本地副本按预期存储在my_project中,但是当我推送到 Bitbucket 时,它被重新路由到真实的东西。事实上,你可以使用重写功能指向几乎任何地方,因为Mercurial理解Git和SVN。我有很多Bitbucket存储库,其中包含使用Github的其他作者的子存储库。

相关内容

  • 没有找到相关文章

最新更新