FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 22 Jul 2014 23:59:30 +0900] rev 21931
dirstate: delay writing out to ensure timestamp of each entries explicitly
Even though "dirstate.write()" is invoked explicitly after "normal"
invocations, timestamp field of entries may be still "unset" in the
"dirstate" file itself , because "pack_dirstate" drops it when it is
equal to the timestamp of "dirstate" file itself.
This can avoid overlooking modification of files, which are updated at
same time in the second. But on the other hand, this may hide timing
critical problems.
For example, incorrect "normal"-ing (or lack of "normallookup"-ing on
the already "normal"-ed entry) is visible only when:
- the target file is modified in the working directory at T1, and
- "dirstate" file is written out at T2 (!= T1)
Otherwise, T1 is dropped by "pack_dirstate" in "dirstate.write()"
invocation, and "unset" is stored into "dirstate" file.
It often fails to reproduce problems from incorrect "normal"-ing by
Mercurial testset, because automated actions in the small repository
almost always causes that T1 and T2 are same.
This patch adds the debug feature to delay writing out to ensure
timestamp of each entries explicitly.
This feature is used to make timing critical "dirstate" problems
reproducable in subsequent patches.
Danek Duvall <danek.duvall@oracle.com> [Mon, 21 Jul 2014 11:27:24 -0700] rev 21930
tests: cat error messages are different on Solaris
Wagner Bruna <wbruna@yahoo.com> [Sun, 20 Jul 2014 15:06:12 -0300] rev 21929
commands: fix typo in import documentation
Matt Mackall <mpm@selenic.com> [Sat, 19 Jul 2014 00:11:40 -0500] rev 21928
Added signature for changeset
6c36dc6cd61a
Matt Mackall <mpm@selenic.com> [Sat, 19 Jul 2014 00:11:10 -0500] rev 21927
Added tag 3.1-rc for changeset
6c36dc6cd61a
Matt Mackall <mpm@selenic.com> [Sat, 19 Jul 2014 00:10:22 -0500] rev 21926
merge default into stable for 3.1 code freeze
Matt Harbison <matt_harbison@yahoo.com> [Fri, 18 Jul 2014 19:46:56 -0400] rev 21925
revset: avoid a ValueError when 'only()' is given an empty set
This previously died in _revdescendants() taking the min() of the first set to
only(), when it was empty. An empty second set already worked. Likewise,
descendants() already handled an empty set.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Jul 2014 23:34:13 +0900] rev 21924
cmdutil: make commit message shown in text editor customizable by template
This patch makes commit message shown in text editor customizable by
template. For example, this can advertise:
- sample commit messages for routine works,
- points to call attention before commit,
- message of the day, and so on
To show commit message correctly even in problematic encoding, this
patch chooses the latter below:
- replace "buildcommittext" with "buildcommittemplate" completely
- invoke "buildcommittemplate" only if '[committemplate] changeset'
is configured explicitly
For example, if multibyte character ending with backslash (0x5c) is
followed by ASCII character 'n' in the customized template, sequence
of backslash and 'n' is treated as line-feed unexpectedly (and
multibyte character is broken, too).
This corruption occurs in 'decode("string-escape")' while parsing
template string.