Thu, 11 Feb 2016 23:15:34 +0900 doc: describe full help document hierarchy to create a valid link in HTML
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 11 Feb 2016 23:15:34 +0900] rev 28077
doc: describe full help document hierarchy to create a valid link in HTML For example, ":hg:`help config.default-push`" creates an invalid link to "hgrc.5.html#default-push" in HTML, but ":hg:`help config.paths.default-push`" creates a valid link to "hgrc.5.html#paths".
Thu, 11 Feb 2016 23:15:34 +0900 doc: translate from :hg:`help config.SECTION` to a valid link to hgrc.5.html
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 11 Feb 2016 23:15:34 +0900] rev 28076
doc: translate from :hg:`help config.SECTION` to a valid link to hgrc.5.html Before this patch, ":hg:`help config.SECTION`" in online help text is translated to a link to "hg.1.html#config.SECTION" in HTML unintentionally. This patch translates from :hg:`help config.SECTION` in online help text to a valid link to "hgrc.5.html#SECTION" in HTML. This patch ignores element(s) under "SECTION" (e.g. "ITEM" of ":hg:`help config.SECTION.ITEM`"), because there is no way to refer directly to it in HTML, yet.
Thu, 11 Feb 2016 23:15:34 +0900 doc: translate from :hg:`help config` to a valid link to hgrc.5.html
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 11 Feb 2016 23:15:34 +0900] rev 28075
doc: translate from :hg:`help config` to a valid link to hgrc.5.html Before this patch, ":hg:`help config`" in online help text is translated to a link to "hg.1.html#config" in HTML, even though actual "hg help config" shows not help for "hg config" command but "config" help topic, and all of current ":hg:`help config`" expects the latter. This patch translates from ":hg:`help config`" in online help text to a link to "hgrc.5.html" in HTML as expected. This patch also allows ":hg:`help -c COMMAND`" style to link "hg.1.html#COMMAND" for readability.
Thu, 11 Feb 2016 23:15:34 +0900 i18n: calculate correct line number in source of messages to be translated
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 11 Feb 2016 23:15:34 +0900] rev 28074
i18n: calculate correct line number in source of messages to be translated Before this patch, line number in source of the message to be translated is wrong in hg.pot, if corresponded message is placed after ".. DIRECTIVE::", because number of lines related to such directive isn't added to variable "delta", which holds number of untranslated lines in given text. This patch always adds "2" to "delta", because text block is split into translation units by "\n\n".
Wed, 10 Feb 2016 12:39:25 -0800 revsetbenchmark: handle exception case
Durham Goode <durham@fb.com> [Wed, 10 Feb 2016 12:39:25 -0800] rev 28073
revsetbenchmark: handle exception case If the revset being benchmarked has an exception, the handling code was encountering an error because the exception did not always have an "output" attribute (I think it's a python 2.7 thing).
Wed, 10 Feb 2016 09:06:08 -0800 merge: minimize conflicts when common base is not shown (issue4447)
Ryan McElroy <rmcelroy@fb.com> [Wed, 10 Feb 2016 09:06:08 -0800] rev 28072
merge: minimize conflicts when common base is not shown (issue4447) Previously, two changes that were nearly, but not quite, identical would result in large merge conflict regions that looked very similar, and were thus very confusing to users, and lead people used to other source control systems to claim that "mercurial's merge algorithms suck". In the relatively common case of a new file being introduced in two branches with very slight modifications, the old behavior would show the entire file as a conflict, and it would be very difficult for a user to determine what was going on. In the past, mercurial attempted to solve this with a "very smart" algorithm that would find all common lines, but this has significant problems as described in 2ea6d906cf9b. Instead, we use a "very dumb" algorithm introduced in the previous patch that simply matches lines at the periphery of conflict regions. This minimizes most conflict regions well, though there may still be some degenerate edge cases, like small modification to the beginning and end of a large file.
Wed, 10 Feb 2016 08:25:03 -0800 merge: introduce method to minimize merge regions
Ryan McElroy <rmcelroy@fb.com> [Wed, 10 Feb 2016 08:25:03 -0800] rev 28071
merge: introduce method to minimize merge regions In the next diff, we will use this to trim down the start and end of conflict regions where the A and B sides both made the same changes.
Tue, 09 Feb 2016 15:25:09 -0800 merge: add some useful documentation
Ryan McElroy <rmcelroy@fb.com> [Tue, 09 Feb 2016 15:25:09 -0800] rev 28070
merge: add some useful documentation
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).
(0) -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip