Mercurial:获取有关存储库的信息而不克隆它们

时间:2012-02-15 12:08:36

标签: mercurial repository

几天前我开始尝试使用Mercurial,一切都很顺利,直到我决定尝试编写一个小程序,从远程服务器获取每个存储库的存储库列表和变更集ID列表,允许用户选择存储库和变更集,克隆它并更新所选修订。这导致了两个问题:

  1. 有没有办法从服务器获取存储库列表(除了解析HTML)?
  2. 有没有办法获取有关其中一个存储库的信息,例如标签,分支等,而不是先实际克隆它?

1 个答案:

答案 0 :(得分:11)

不,Mercurial的设计使您几乎所有命令都需要本地存储库。唯一可以为您提供有关远程存储库信息的内置命令是hg id

$ hg id https://bitbucket.org/aragost/javahg/
3b2711b26dbd

要掌握更多信息,您有时可以利用raw的{​​{1}}模板:

hgweb

这要求主机运行Mercurial附带的$ wget -q -O - 'https://www.mercurial-scm.org/repo/hg/tags?style=raw' | head tip a3a36bcf122e2ea4edbbe4ac44da59446cf0ee07 4.2.1 c850f0ed54c1d42f9aa079ad528f8127e5775217 4.2 bb96d4a497432722623ae60d9bc734a1e360179e 4.2-rc 616e788321cc4ae9975b7f0c54c849f36d82182b 4.1.3 77eaf9539499a1b8be259ffe7ada787d07857f80 4.1.2 ed5b25874d998ababb181a939dd37a16ea644435 4.1.1 25703b624d27e3917d978af56d6ad59331e0464a 4.1 e1526da1e6d84e03146151c9b6e6950fe9a83d7d 4.1-rc a1dd2c0c479e0550040542e392e87bc91262517e 4.0.2 e69874dc1f4e142746ff3df91e678a09c6fc208c CGI脚本。对于像Bitbucket这样的网站,您需要使用their API

最后,如果您可以在远程存储库上启用扩展,则可以编写一个以可解析格式公开所需信息的扩展。我曾经写过such an extension作为演示。