Specific regular expressions depending on read mode
More safeguarding against accidental (un)expansion:
Reading filelog: act only on \$(kw1|kw2|..)\$ as keywords are always
stored unexpanded.
Reading wdir: act only on \$(kw1|kw2|..): [^$\n\r]*? \$ as we only
are interested in expanded keywords in this situation.
Note: we cannot use ..): [^$\n\r]+? \$ because e.g.
the {branch} template might be empty.
hg record is a special case as we read from the working directory and
need one regex each for modified and added files. Therefore test
recording an added file.
This way we finally also forbid sequences like $Id: $ being treated
as keywords.
$Id$
keyword extension for Mercurial SCM
===================================
CAVEAT: Please use the keyword extension distributed with
Mercurial > 1.0.2!
For Mercurial 0.9.2 to 1.0.2 install the 0.9.2compat branch.
The default and stable branches are meant for development.
install
-------
Run "python setup.py install".
See also "pyton setup.py --help".
Then add the line:
[extensions]
keyword = /path/to/hgkw/keyword.py
to your hgrc, where /path/to/ is somewhere in your $PYTHONPATH.
first steps and online help
---------------------------
$ hg help keyword
$ hg kwdemo
testing
-------
$ cd tests
$ python run-tests.py --with-hg=/path/to/hg test-keyword