你怎么知道远程mercurial存储库的版本?

时间:2011-08-28 10:25:51

标签: mercurial

您如何知道远程mercurial存储库的版本?

我想检查的远程存储库只能通过http协议访问。

问题是使用正确的Mersurial客户端版本。并且还要知道服务器支持什么。例如,在1.8版书签功能添加到核心之后,我想知道我是否可以在远程部件上安装存储库时使用它们。

2 个答案:

答案 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-数据)管理远程服务器上的仓库。

相关问题