您如何知道远程mercurial存储库的版本?
我想检查的远程存储库只能通过http协议访问。
问题是使用正确的Mersurial客户端版本。并且还要知道服务器支持什么。例如,在1.8版书签功能添加到核心之后,我想知道我是否可以在远程部件上安装存储库时使用它们。
答案 0 :(得分:4)
你应该只是尝试去做你想做的事情。有线协议是向前兼容的:客户端询问服务器它的功能是什么,因此它知道服务器可以做什么。
如果目的地不支持拉/推书签(pushkey
机制),推送书签将会失败。
至于使用正确的客户端版本,不确定这意味着什么。如果您的意思是使用“匹配”版本访问本地存储库,那通常不是问题,因为存储库布局更改不是很频繁。
如果事情发生了变化,Mercurial很友好地告诉您,您的版本无法读取此存储库(这是.hg/requires
文件的用途):
abort:不支持'dotencode'!
答案 1 :(得分:1)
除非您有一个流程正在侦听您的请求(例如ssh for instance,允许您ssh server-host hg version
,但您只有http),否则远程仓库将不会向您提供该信息。
hg version
在本地工作,我认为任何hgweb.cgi
都不会解释该请求,因为那些cgi是关于发布repo(数据),而不是发布有关该工具的信息(meta-数据)管理远程服务器上的仓库。