Sun, 27 Dec 2015 19:58:11 +0900 encoding: backport paranoid escaping from templatefilters.jsonescape()
Yuya Nishihara <yuya@tcha.org> [Sun, 27 Dec 2015 19:58:11 +0900] rev 28069
encoding: backport paranoid escaping from templatefilters.jsonescape() This was introduced by 55c763926a28. It is required to embed JSON data in HTML page. Convince yourself here: http://escape.alf.nu/1
Sun, 27 Dec 2015 19:28:34 +0900 encoding: add option to escape non-ascii characters in JSON
Yuya Nishihara <yuya@tcha.org> [Sun, 27 Dec 2015 19:28:34 +0900] rev 28068
encoding: add option to escape non-ascii characters in JSON This is necessary for hgweb to embed JSON data in HTML. JSON data must be able to be embedded in non-UTF-8 HTML page so long as the page encoding is compatible with ASCII. According to RFC 7159, non-BMP character is represented as UTF-16 surrogate pair. This function first splits an input string into an array of UTF-16 code points. https://tools.ietf.org/html/rfc7159.html#section-7
Sat, 30 Jan 2016 19:48:35 +0900 encoding: initialize jsonmap when module is loaded
Yuya Nishihara <yuya@tcha.org> [Sat, 30 Jan 2016 19:48:35 +0900] rev 28067
encoding: initialize jsonmap when module is loaded This makes jsonescape() a thread-safe function, which is necessary for hgweb. The initialization stuff isn't that slow: $ python -m timeit -n1000 -s 'from mercurial import encoding as x' 'reload(x)' original: 1000 loops, best of 3: 158 usec per loop this patch: 1000 loops, best of 3: 214 usec per loop compared to loading the commands module: $ python -m timeit -n1000 -s 'from mercurial import commands as x' 'reload(x)' 1000 loops, best of 3: 1.11 msec per loop
Sat, 30 Jan 2016 19:41:34 +0900 encoding: change jsonmap to a list indexed by code point
Yuya Nishihara <yuya@tcha.org> [Sat, 30 Jan 2016 19:41:34 +0900] rev 28066
encoding: change jsonmap to a list indexed by code point This is slightly faster and convenient to implement a paranoid escaping. $ python -m timeit \ -s 'from mercurial import encoding; data = str(bytearray(xrange(128)))' \ 'encoding.jsonescape(data)' original: 100000 loops, best of 3: 15.1 usec per loop this patch: 100000 loops, best of 3: 13.7 usec per loop
Tue, 02 Feb 2016 15:24:11 +0000 update: change default destination to tipmost descendant (issue4673) (BC)
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 02 Feb 2016 15:24:11 +0000] rev 28065
update: change default destination to tipmost descendant (issue4673) (BC) Bare 'hg update' now brings you to the tipmost descendant (on the same branch). Leaving the user on the same topological branch. The previous behavior, updating to the tipmost changeset on the same branch could lead to jump from a topological branch to another. This was confusing and impractical. As the only conceivable reason for the old behavior have been address by the recently introduce message about other heads, we can "safely" change this behavior All test changes have been reviewed and seen a valid consequences.
Wed, 03 Feb 2016 15:21:11 +0000 test: drop useless --update flag in issue1502 tests
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 03 Feb 2016 15:21:11 +0000] rev 28064
test: drop useless --update flag in issue1502 tests The --update is unrelated to the test and has no effect as it fails anyway. Dropping it reduces the noise in the coming change in default destination for update.
Thu, 11 Feb 2016 13:50:38 +0000 treemanifest: don't use cp -T, not supported on OS X
Martijn Pieters <mjpieters@fb.com> [Thu, 11 Feb 2016 13:50:38 +0000] rev 28063
treemanifest: don't use cp -T, not supported on OS X The OS X cp implementation has no -T switch. Copy directory contents using a glob instead.
Sun, 03 Jan 2016 12:45:32 +0900 chg: use in-tree hg executable to start server for testing
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Jan 2016 12:45:32 +0900] rev 28062
chg: use in-tree hg executable to start server for testing
Sun, 03 Jan 2016 12:41:28 +0900 hgignore: ignore chg binary
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Jan 2016 12:41:28 +0900] rev 28061
hgignore: ignore chg binary
Sun, 03 Jan 2016 12:39:27 +0900 chg: import frontend sources
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Jan 2016 12:39:27 +0900] rev 28060
chg: import frontend sources These files are copied from https://bitbucket.org/yuja/chg/ -r f897faa79687
Wed, 10 Feb 2016 21:01:52 +0100 debugrevlog: fix dumping manifest fails on empty first revision (issue5062)
liscju <piotr.listkiewicz@gmail.com> [Wed, 10 Feb 2016 21:01:52 +0100] rev 28059
debugrevlog: fix dumping manifest fails on empty first revision (issue5062)
Wed, 10 Feb 2016 01:48:58 -0800 help: don't crash in keyword search if an extension fails to provide docs
Simon Farnsworth <simonfar@fb.com> [Wed, 10 Feb 2016 01:48:58 -0800] rev 28058
help: don't crash in keyword search if an extension fails to provide docs Not all external extensions provide docs; if you use such an extension, you will experience a crash if you use "hg help --keyword <word>", and <word> happens to match the extension name.
Sat, 20 Feb 2016 17:32:26 +0100 doc: correct example concerning "hg purge" alias in man page "hgrc.5" stable
Rainer Woitok <Rainer.Woitok@Gmail.Com> [Sat, 20 Feb 2016 17:32:26 +0100] rev 28057
doc: correct example concerning "hg purge" alias in man page "hgrc.5" The "hg purge" alias as currently described in "hgrc.5" only works, if the caller's current working directory is identical to the repository's root directory. This patch slightly modifies the example by adding an empty pattern as a file argument to the "hg status" command, thus forcing this command to list the affected files relative to the current directory.
Thu, 18 Feb 2016 22:32:18 -0500 fileset: fix copy/paste in eol() error message stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 18 Feb 2016 22:32:18 -0500] rev 28056
fileset: fix copy/paste in eol() error message
Fri, 29 Jan 2016 14:35:34 +0000 run-tests: factor out _escapepath
timeless <timeless@mozdev.org> [Fri, 29 Jan 2016 14:35:34 +0000] rev 28055
run-tests: factor out _escapepath
Mon, 08 Feb 2016 12:33:00 -0500 debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com> [Mon, 08 Feb 2016 12:33:00 -0500] rev 28054
debugignore: normalize the file before testing dirstate._ignore() With an ignore pattern containing a '/' and a Windows style path containing '\', status was properly ignoring the file, but debugignore was stating that it wasn't ignored.
Thu, 11 Feb 2016 02:15:45 +0900 check-code: add rule to detect usage of external diff via extdiff
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 11 Feb 2016 02:15:45 +0900] rev 28053
check-code: add rule to detect usage of external diff via extdiff This rule detects "hg extdiff" invocation without -p/--program and -o/--option. This patch specifies "-p diff" explicitly in test-extdiff.t to avoid false positive matching.
Mon, 08 Feb 2016 18:29:17 +0900 tests: use portable diff script via extdiff extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 08 Feb 2016 18:29:17 +0900] rev 28052
tests: use portable diff script via extdiff extension Before this patch, some tests using external "diff" command via extdiff extension fail on Solaris, because of incompatibility of "diff" command and its output. For example, system standard "diff" (= /usr/bin/diff) on Solaris differs from GNU diff in points below: - "-N" (treat absent files as empty) option isn't supported - files are examined not in dictionary order (maybe, in order in storage) This patch introduces portable diff script "pdiff" and make tests use it via extdiff extension. For portability of tests, this patch invokes "pdiff" script with explicit "sh", because standard shell of runtime platform ("cmd.exe" on Windows) is used at first to invoke external diff command.
Sun, 07 Feb 2016 09:36:09 +0100 test-patchbomb: ensure hg email write to stdout
Sébastien Brissaud <sebastien@brissaud.name> [Sun, 07 Feb 2016 09:36:09 +0100] rev 28051
test-patchbomb: ensure hg email write to stdout With -n/--test and if the PAGER environment variable is set, 'hg email' send its output to the user defined pager. If the pager capture the output, the test is unable verify it. Unsetting the PAGER environment variable force 'hg email' to write to stdout.
Wed, 10 Feb 2016 22:44:29 +0900 check-code: examine magic pattern matching against contents of a file
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 10 Feb 2016 22:44:29 +0900] rev 28050
check-code: examine magic pattern matching against contents of a file Before this patch, check-code examines "magic" pattern (e.g. '^#!.*python') matching against not contents of a file, but name of it. This unintentionally omits code checking against Python source file, of which filename doesn't end with "*.py" or "*.cgi", even though contents of it starts with "#!/bin/python" or so. In this change, 'pre' refers contents of file 'f'.
Wed, 10 Feb 2016 22:44:29 +0900 docchecker: use indentation of 4 spaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 10 Feb 2016 22:44:29 +0900] rev 28049
docchecker: use indentation of 4 spaces This is fixing for 'must indent 4 spaces' check-code rule. check-code has overlooked this, because a file isn't recognized as one to be checked (this problem is fixed by subsequent patch).
Wed, 10 Feb 2016 22:44:29 +0900 docchecker: remove naked except clause
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 10 Feb 2016 22:44:29 +0900] rev 28048
docchecker: remove naked except clause This is fixing for 'naked except clause' check-code rule. check-code has overlooked this, because a file isn't recognized as one to be checked (this problem is fixed by subsequent patch).
Wed, 10 Feb 2016 22:44:29 +0900 misc: use modern exception syntax
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 10 Feb 2016 22:44:29 +0900] rev 28047
misc: use modern exception syntax This is fixing for 'legacy exception syntax; use "as" instead of ","' check-code rule. check-code has overlooked these, because files aren't recognized as one to be checked (this problem is fixed by subsequent patch).
Wed, 10 Feb 2016 22:44:28 +0900 f: use modern octal number formatting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 10 Feb 2016 22:44:28 +0900] rev 28046
f: use modern octal number formatting This is fixing for 'legacy octal syntax; use "0o" prefix instead of "0"' check-code rule. check-code has overlooked this, because a file isn't recognized as one to be checked (this problem is fixed by subsequent patch).
Wed, 10 Feb 2016 22:44:28 +0900 hg-ssh: parenthesize non-translated message
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 10 Feb 2016 22:44:28 +0900] rev 28045
hg-ssh: parenthesize non-translated message This is fixing for 'missing _() in ui message (use () to hide false-positives)' check-code rule. check-code has overlooked this, because a file isn't recognized as one to be checked (this problem is fixed by subsequent patch).
Wed, 10 Feb 2016 22:44:28 +0900 f: add whitespace around operator
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 10 Feb 2016 22:44:28 +0900] rev 28044
f: add whitespace around operator This is fixing for 'missing whitespace in expression' check-code rule. check-code has overlooked this, because a file isn't recognized as one to be checked (this problem is fixed by subsequent patch).
Wed, 10 Feb 2016 22:44:28 +0900 check-commit: omit whitespace
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 10 Feb 2016 22:44:28 +0900] rev 28043
check-commit: omit whitespace This is fixing for 'no whitespace around = for named parameters' check-code rule. check-code has overlooked this, because a file isn't recognized as one to be checked (this problem is fixed by subsequent patch).
Wed, 10 Feb 2016 22:44:28 +0900 check-commit: wrap too long line
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 10 Feb 2016 22:44:28 +0900] rev 28042
check-commit: wrap too long line This is fixing for 'line too long' check-code rule. check-code has overlooked this, because a file isn't recognized as one to be checked (this problem is fixed by subsequent patch).
Mon, 08 Feb 2016 21:12:13 +0900 setup: avoid procedure related to hg.exe at setup.py --pure stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 08 Feb 2016 21:12:13 +0900] rev 28041
setup: avoid procedure related to hg.exe at setup.py --pure Before this patch, "setup.py --pure" fails on Windows, because hgbuildscripts.run() tries to copy "hg.exe", which doesn't generated at "setup.py --pure". At that time, run_command('build_hgexe') invoked in hgbuildscripts.run() does nothing and returns successfully. Therefore, subsequent procedure assuming existence of "hg.exe" fails. This patch avoids procedure related to "hg.exe" (= all of hgbuildscripts.run() except for build_scripts.run() invocation) at "setup.py --pure".
Fri, 05 Feb 2016 23:17:07 +0900 help: update template examples to use reST literal syntax stable
Yuya Nishihara <yuya@tcha.org> [Fri, 05 Feb 2016 23:17:07 +0900] rev 28040
help: update template examples to use reST literal syntax This should prevent processing backslashes as reST syntax elements. Before this patch, '\' was lost in HTML and man pages.
(0) -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip