A Scalable, User-Friendly Source Control System.
Go to file
FUJIWARA Katsunori 1d5cc643a1 templatekw: compare target context and its parent exactly (issue4690)
Before this patch, template keywords `{file_mods}`, `{file_adds}` and
`{file_dels}` use values gotten by `repo.status(ctx.p1().node(),
ctx.node())`.

But this doesn't work as expected if `ctx` is `memctx` or
`workingcommitctx`. Typical case of templating with these contexts is
customization of the text shown in the commit message editor by
`[committemplate]` configuration.

In this case, `ctx.node()` returns None and it causes comparison
between `ctx.p1()` and `workingctx`. `workingctx` lists up all changed
files in the working directory even at selective committing.

BTW, `{files}` uses `ctx.files()` and it works as expected.

To compare target context and its parent exactly, this patch passes
`ctx.p1()` and `ctx` without `node()`-nize. This avoids unexpected
comparison with `workingctx`.

This patch uses a little redundant template configurations in
`test-commit.t`, but they are needed to avoid regression around
problems fixed by 17e2fda16f58 and 2b999bc2d89a: accessing on `ctx`
may break `ctx._status` field.
2015-06-02 02:28:33 +09:00
contrib win32: remove cacert.pem file from Inno Setup installer 2015-04-23 21:23:13 +02:00
doc spelling: fixes from proofreading of spell checker issues 2015-01-18 02:38:57 +01:00
hgext histedit: fix keep during --continue 2015-05-28 20:30:20 -07:00
i18n i18n-ja: synchronized with 87267040cd32 2015-06-01 10:50:15 +09:00
mercurial templatekw: compare target context and its parent exactly (issue4690) 2015-06-02 02:28:33 +09:00
tests templatekw: compare target context and its parent exactly (issue4690) 2015-06-02 02:28:33 +09:00
.hgignore hgignore: ignore the PyCharm workspace folder 2014-10-13 11:46:04 +02:00
.hgsigs Added signature for changeset 2f48f12ba72d 2015-05-01 16:49:15 -05:00
CONTRIBUTORS Add note to CONTRIBUTORS file 2007-11-07 21:10:30 -06:00
COPYING COPYING: refresh with current address from fsf.org 2011-06-02 11:17:02 -05:00
hg hg: add support for HGUNICODEPEDANTRY environment variable 2014-06-23 09:33:07 -04:00
hgeditor Fixed a bashism with the use of $RANDOM in hgeditor. 2010-05-19 18:06:35 +02:00
hgweb.cgi mq: add a warning about uncommitted changes for qfinish 2011-11-10 15:40:34 -06:00
Makefile i18n: extract doc string of each web commands as translatable one 2015-04-28 00:38:16 +09:00
README readme: mention how to run in-place 2012-03-02 21:43:55 +02:00
setup.py manifest.c: new extension code to lazily parse manifests 2015-01-13 14:31:38 -08:00

Mercurial
=========

Mercurial is a fast, easy to use, distributed revision control tool
for software developers.

Basic install:

 $ make            # see install targets
 $ make install    # do a system-wide install
 $ hg debuginstall # sanity-check setup
 $ hg              # see help

Running without installing:

 $ make local      # build for inplace usage
 $ ./hg --version  # should show the latest version

See http://mercurial.selenic.com/ for detailed installation
instructions, platform-specific notes, and Mercurial user information.