是否可以在远程Mercurial存储库中查看所有标记的列表,而无需先进行克隆?在git中我可以运行git ls-remote --tags
。
答案 0 :(得分:13)
标签存储在.hgtags中的工作目录中 - 即工作副本中,而不是本地“存储库”。由于所有远程操作都在远程存储库上进行,而不是远程工作副本,因此无法远程列出标记。
本质上.hgtags只为变更集提供方便的名称,标签与存储库元数据或版本控制无关。
请注意,Mercurial的设计理念是它应该是可扩展的;为了使分布式版本控制系统可扩展,必须在启动命令的机器上完成“艰苦工作”,这就是为什么你必须首先获得克隆来做任何困难的事情。
编辑: 正如Tom Anderson指出的那样(参见评论),标签实际上是所有头版本中.hgtags文件中定义的标签的联合,这使得它更加困难。
答案 1 :(得分:9)
使用标准的Mercurial存储库是不可能的。如果您可以ssh到远程计算机,只需执行此操作并运行:hg tags
答案 2 :(得分:1)
根据存储库的托管方式,可以考虑使用web-apis。标准的hg服务提供它们,例如
https://www.mercurial-scm.org/repo/hg-stable/raw-tags
https://www.mercurial-scm.org/repo/hg-stable/json-tags
(如果您喜欢XML,则为/ rss-tags)