Mercurial (hg) je další distribuovaný systém, který je napsaný v pythonu a podporuje ho například google ve svém code.google.com a také existuje hosting bitbucket.org, který umožňuje zdarma hosting open source projektů jako code.google.com nebo github.com pro git. Služby github.com a bitbucket.org mají také své placené varianty pro komerční využití.
Keywords v hg normálně nejsou, řeší se to přes standardní doplněk, který je potřeba zaplnout a nastavit v konfiguračním souboru .hgrc.
[extensions]
hgext.keyword =
keyword=/usr/share/python-support/mercurial-common/hgext/keyword.py
[keyword]
**.php =
**.xml =
[keywordmaps]
RCSFile = {file|basename},v
Author = {author|user}
Header = {root}/{file},v {node|short} {date|utcdate} {author|user}
Source = {root}/{file},v
Date = {date|utcdate}
Id = {file|basename},v {node|short} {date|utcdate} {author|user}
Revision = {node|short}Export - obdoba svn export je v hg příkaz archive, který ale umožňuje také vytvořit ze souborů přímo archív (zip, tar, tgz, tbz2).
hg archive path/to/dir/
hg archive -t zip /path/to/file.zipLog v xml formátu kompatibilním se svn log --xml. Pro logování jsem vytvořil script, který umí to co standardní parametr xml v SVN. Parametrem scriptu je výstupní soubor.
# http://hgbook.red-bean.com/read/customizing-the-output-of-mercurial.html
echo '<?xml version="1.0"?>\n<log>\n' >$1.xml
hg log --template '<logentry revision="{rev}">
<author>{author|obfuscate}</author>
<date>{date|isodate}</date>
<msg>{desc|escape}\n</msg>
<paths><path>{files}</path></paths>
</logentry>\n' $1/ >>$1.xml
echo '</log>\n' >>$1.xml