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 rebase或hg histedit)将给出更好的提示。
新的试验阶段的拓展automv以自动检测文件备份及重命名。
Windows平台的hg rebase, hg log -f最后提出, 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