What's new in Mercurial 3.8

What's new in Mercurial 3.8

Mercurial 3.8 was released on 1st of May. Mercurial follows a time-based release with 3-month cycle meaning that there are four major releases during a calendar year. You may read the original release notes or check the overview of new features from official Mercurial website. This blog post highlights some of the enhancements we considered worth mentioning explicitly.

New features worth mentioning about

cHg is a Mercurial command server running on Unix. Mercurial command server was originally introduced to solve programmatic access and licensing related problems. Anyone calling Mercurial internal APIs would need to license the calling software with GPL license, as Mercurial is GPL. And while this could be solved by calling the command line interface, this would create overhead when done often. What cHg basically does, is it speeds up running hg command. In order to use cHg, you need to install it explicitly and add a alias from hg command to chg command.

A new experimental extension called automv has been added in Mercurial 3.8. automv is an extension that attempts to detect file copies and renaming automatically. This comes handy if you move or rename files using a IDE for example. automv is enabled by adding it under [extensions] in your .hgrc file. In order to test it out, first move a file in the filesystem, then use hg rm to remove the file from Mercurial, add the new file using hg add, and finally commit changes. If everything went fine, the commit command should produce a message detected move of 1 files.

Bookmark handling has been improved. hg pull -u activates a bookmark if there is a bookmark and deactivates a bookmark if the destination doesn't match the existing bookmark. In addition, pushing the active bookmark can be done using hg push -B ..

Performance improvements

In addition to the enhancements above, there are various performance improvements in Mercurial 3.8. The cHg itself can be considered as a performance improvement. fsmonitor extension is another extension, that uses filesystem watching to make commands such as hg status significantly faster on large repositories.

Rebasing has bee made faster in addition to hg log. Windows users are happy to find their hg update commands running four times faster. The full list of performance improvements can be found from the official overview.

Conclusions

Automv and bookmark handling both contribute towards better user experience, which makes this major release welcome addition to any Mercurial users. Performance improvements and bug fixes are good additions, but for us at Deveo, the parts from this release are the bookmarks related enhancements. This is due to the fact that Deveo Mercurial code review functionality is based on bookmarks and branches, and thus these yields benefits from these enhancements.

Read more:

Seamless software development.

Code management and collaboration platform with Git, Subversion, and Mercurial.

Sign up for free
comments powered by Disqus