Siddharth Agarwal <sid0@fb.com> [Thu, 11 Feb 2016 22:52:23 -0800] rev 28080
hook: for python hook ImportErrors, add note to run with --traceback
I personally found it completely non-obvious that --traceback prints out stack
traces for failed imports.
Siddharth Agarwal <sid0@fb.com> [Thu, 11 Feb 2016 22:41:20 -0800] rev 28079
hook: fewer parentheses for hook load errors
This matches 'hook failed' warnings.
We're also going to add hints to some of the hook load errors. Without this
change we'd have two pairs of parens for a single error message, which looks
really cluttered.
Siddharth Agarwal <sid0@fb.com> [Thu, 11 Feb 2016 22:02:52 -0800] rev 28078
hook: use sys.exc_info rather than the deprecated equivalents
sys.exc_type etc have been deprecated since Python 1.5.
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".
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.
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.
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".
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).
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.
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.