Mercurial 3.8 版本发布:为 Mercurial 指令服务器提供最新的快速客户端

阅读数:375 2016 年 5 月 11 日

话题:语言 & 开发

Mercurial 最近发布了 3.8 版本。这次发布给cHg带来了一个最新的Mercurial 指令服务器客户端,旨在提高对 Mercurial API 访问的能力并规避了潜在的许可证问题。另外,Mercurial 3.8 版本对许多指令、拓展以及各种性能进行了提升。

如上所述,Mercurial cHg 是一款新的命令行客户端,可以传送指令到 Mercurial 指令服务器中,在 1.9 版本中引入这个服务器,它为 Mercurial 与客户端程序之间的交互提供了一个更好的模型。Mercurial 指令服务器需要解决的最主要问题是有关于许可证的:由于 Mercurial 基于 GPL 许可证,任何连接它 API 的客户必须在 GPL 许可证下发布,客户端有时并不能满足这一需求。另外,客户端可以通过 hg,其指令行客户端访问 Mercurial,由于每次访问都需要使用 hg,所以这将是一笔很大的开销。因为指令服务器的存在,现在可以通过管道编写与 Mercurial 交互的客户端或者类库,今后将不再属于 GPL 许可的范畴。目前,cHg 提供了一个现成的 hg 替代方案,可以加速通过 hg 访问 Mercurial 的客户端,而不需要额外的费用。

另外一些 Mercurial 3.8 中值得关注的变更包括:

  • hg update,以及其他执行更新操作的指令,例如hg pull -,提出关于其他的拓扑头的警告。根据这个,现在hg update仅更新在同一拓扑分支上的变更,而不更新其他拓扑分支。
  • hg resolve现在恢复一个中断指令时(例如hg rebasehg histedit)将给出更好的提示。

  • 新的试验阶段的拓展automv以自动检测文件备份及重命名。

  • Windows 平台的hg rebase, hg log -f <file>, hg update现在更快了。

最后提出, Mercurial 3.8 同时修复了一个低优先级的安全漏洞,当使用“恶意名称”转换 Git 库时可执行任意代码。

在 3.8 版本发布不久后,3.8.1 版本也很快发布了,修复了一个发布监管问题。

Mercurial 3.8.1 的二进制和源格式现在可以下载

查看英文原文Mercurial 3.8 Released with New Fast Client for Mercurial Command Server


感谢夏雪对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。