几天前,我开始尝试 Mercurial,一切都很顺利,直到我决定尝试编写一个小程序,该程序从远程服务器获取存储库列表和每个存储库的变更集 ID 列表,允许用户选择存储库并变更集,克隆它并更新到所选的修订版。这引发了两个问题:
- 有没有办法从服务器获取存储库列表(除了解析 HTML)?
- 有没有一种方法可以获取有关某个存储库的信息,例如标签、分支等,而无需先实际克隆它?
不,Mercurial 的设计目的是让您需要local几乎所有命令的存储库。唯一可以为您提供有关远程存储库信息的内置命令是hg id
:
$ hg id https://bitbucket.org/aragost/javahg/
3b2711b26dbd
为了获取更多信息,您有时可以利用raw
模板为hgweb
:
$ 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
这要求主机正在运行hgweb
Mercurial 附带的 CGI 脚本。对于像 Bitbucket 这样的网站,您需要使用他们的API https://api.bitbucket.org/.
最后,如果您可以在远程存储库上启用扩展,那么就可以编写一个扩展,以可解析的格式公开您想要的信息。我曾经写过这样的扩展 https://bitbucket.org/aragost/remoteinfo/作为演示。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)