changegroup
钩子不能总是告诉正在使用的远程 URL 。来自Mercurial Book 的 Hooks 章节:
在可能的情况下,Mercurial 将告诉钩子在存储库之间传输变更集数据的活动“远端”的位置。这是由 Mercurial 在名为 url 的 Python 参数或名为 HG_URL 的环境变量中提供的。暂无评论
这些信息并不总是已知的。如果在通过 http 或 ssh 提供服务的存储库中调用钩子,Mercurial 无法判断远程存储库在哪里,但它可能知道客户端从哪里连接。在这种情况下,URL 将采用以下形式之一: 无评论
remote:ssh:1.2.3.4——远程 ssh 客户端,IP 地址为 1.2.3.4。暂无评论
remote:http:1.2.3.4——远程 http 客户端,IP 地址为 1.2.3.4。如果客户端使用 SSL,则格式为 remote:https:1.2.3.4。暂无评论
所以你被告知他们正在通过 https 从名为 rnideffer 的机器上推送。
您是否考虑过使用通知扩展?它随 mercurial 一起提供,几乎完全符合您的描述,并且可以提供将 repo 名称转换为您想要的 URL 所需的 URL 前缀。