BT

Mercurial 3.8 Released with New Fast Client for Mercurial Command Server

| by Sergio De Simone Follow 21 Followers on May 07, 2016. Estimated reading time: 1 minute |

Mercurial has reached version 3.8. This release brings cHg a new Mercurial command server client aimed to improve access to Mercurial API and circumvent potential licensing issues. Additionally, Mercurial 3.8 brings improvements to many commands and extensions, and various performance improvements.

As mentioned, Mercurial cHg is a new command-line client that will pipe its commands to Mercurial command server, which was introduced with version 1.9 to provide a better model of interaction with Mercurial to client programs. The main issue that Mercurial command server tries to solve is related to licensing: being GPL-licensed, any client accessing Mercurial's API will need to be released under the GPL, which is sometimes a requirement that clients cannot fulfill. Alternatively, clients can access Mercurial through hg, its command-line client, at the cost of a significant overhead due having to launch hg each time. Thanks to the command server, it became possible to write clients or libraries that interface with Mercurial through a pipe, hence not falling under the provisions of the GPL. Now, cHg provides a ready-to-use replacement for hg that will speed up any client that was accessing Mercurial through hg at no additional cost.

A few more notable changes in Mercurial 3.8 are:

  • hg update, and other commands that perform update such as hg pull -u, warn about other topological heads. Related to this, now hg update only updates to the tip-most changeset on the same topological branch, ignoring other topological branches.
  • hg resolve will now provide better hints to continue an interrupted command, e.g., hg rebase or hg histedit.
  • The new experimental extension automv to automatically detect file copies and renaming.
  • hg rebase, hg log -f <file>, hg update on Windows, are now faster.

As a last note, Mercurial 3.8 also fixes a low-priority security vulnerability that made it possible to execute arbitrary code when converting Git repositories with “hostile names”.

Immediately after releasing version 3.8, 3.8.1 was released to fix a release oversight.

Mercurial 3.8.1 can be downloaded in several binary and source formats.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss
BT