Mercurial服务器升级困境

我有一个用于我的Mercurial存储库的中央服务器。 我刚刚在服务器上使用hg init myrepo创build了一个新的存储库。 服务器上的Mercurial版本是1.7.3。

从我的客户端,我使用hg clone http://myserver/myrepo 。 我的工作站上的Mercurial版本是1.7.5。 在我的客户端,我收到一个错误:

 HTTP Error 500: requirement 'dotencode' not supported 

从我简短的谷歌search这个错误消息,我的服务器和我的客户端都是足够新的,以支持“点编码”的要求。

这只是一个红鲱鱼的错误信息?

其他信息:服务器是Windows 2008R2 64位,客户端是Windows 7。

HG wiki的摘录:

如果较旧的Mercurial版本试图访问由较新的Mercurial版本创build的存储库,则会显示一条错误消息

中止:要求“dotencode”不支持!

可能会显示,这意味着用于访问该存储库的Mercurial版本不知道如何解释它,因为访问它需要知道“dotencode”function。

如果出现这样的错误消息,则必须使用较新的Mercurial版本来访问版本库,或者必须将版本库转换为该版本所理解的旧版本格式(使用'hg clone –pull')

这听起来没有关系,因为你的客户端版本似乎比服务器版本高(我想你应该仔细检查一下),但是这个配方值得尝试。

在Mercurial中我们并没有真正的“红鲱鱼错误信息”:-)

错误很明显,这意味着服务器上使用的Mercurial版本太旧,无法读取磁盘上的存储库。 您已经在requires文件中find了wiki页面 。

既然你说服务器正在使用版本1.7.2,那么我认为在服务器上必须有另外一个版本并行安装。 (客户端的版本在这里是不相关的,当他们通过networking进行交互时,可以混合使用任何两个版本。)

我看到你已经迁移到Bitbucket,但如果你没有,那么我的build议是search服务器的第二次安装Mercurial。 searchcommands.py应该findweb服务器使用的那个,searchlibrary.zipfindTortoiseHg使用的更新的(假设你用它来安装它)。