BT

Mercurial 3.8 Released with New Fast Client for Mercurial Command Server

| by Sergio De Simone Follow 14 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

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT