Gregory Szorc <gregory.szorc@gmail.com> [Wed, 14 Oct 2015 18:22:16 -0700] rev 26680
highlight: add option to prevent content-only based fallback
When Mozilla enabled Pygments on hg.mozilla.org, we got a lot of weirdly
colorized files. Upon further investigation, the hightlight extension
is first attempting a filename+content based match then falling back to a
purely content-driven detection mode in Pygments. Sounds good in theory.
Unfortunately, Pygments' content-driven detection establishes no minimum
threshold for returning a lexer. Furthermore, the detection code for
a number of languages is very liberal. For example, ActionScript 3 will
return a confidence of 0.3 (out of 1.0) if the first 1k of the file
we pass in matches the regex "\w+\s*:\s*\w"! Python matches on
"import ". It's no coincidence that a number of our extension-less files
were getting highlighted improperly.
This patch adds an option to have the highlighter not fall back to
purely content-based detection when filename+content detection failed.
This can be enabled to render unlighted text instead of taking the risk
that unknown file types are highlighted incorrectly. The old behavior is
still the default.
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 14 Oct 2015 17:43:44 -0700] rev 26679
highlight: inline checkfctx()
It is only used once. pygmentize() is pretty small. Let's just inline
it.
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 14 Oct 2015 17:42:07 -0700] rev 26678
highlight: consolidate duplicate code
I'm adding some logic in a future patch and this will make it so I only
have to add it once.
Christian Delahousse <cdelahousse@fb.com> [Tue, 13 Oct 2015 14:06:51 -0700] rev 26677
rebase: properly abort when destination is public (issue4896)
After rebasing a set of changes onto a public changeset and having the first one
be skipped, if you try to abort, the operation fails. This fix adds a check to
disallow the target rev into the dstates list within the abort function. This
list is checked for immutable states before the rest of abort does its thing.
Matt Mackall <mpm@selenic.com> [Wed, 14 Oct 2015 18:03:17 -0500] rev 26676
bookmarks: don't deactivate on no-op update (issue4901)
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 15 Oct 2015 00:32:20 +0100] rev 26675
rebase: properly handle chains of markers with missing nodes
As obsolescence markers can contains unknown nodes and 'allsuccessors' returns
them, we have to protect again that when looking for successors of the rebase
set in the destination.
Test have been expanded to catch that.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 14 Oct 2015 23:42:15 +0100] rev 26674
rebase: use a direct reference to repo.changelog
Accessing 'repo.changelog' have a small overhead because we double check that the
filtering did not changed. As we make multiple use of this into loops, we should
avoid doing the lookup/check every time. This also make the code tidier.
timeless@mozdev.org [Wed, 14 Oct 2015 22:21:05 -0400] rev 26673
mail: drop python 2.5 support
Sean Farley <sean@farley.io> [Tue, 13 Oct 2015 22:53:08 -0700] rev 26672
exchange: use pushop.repo instead of repo
Ryan McElroy <rmcelroy@fb.com> [Tue, 13 Oct 2015 03:20:05 -0700] rev 26671
rebase: factor out nothing to rebase return code
A rebase call that results in nothing to rebase might be considered successful
in some contexts. This factors out the return code from places where hg
determines that there is nothing to rebase, so an extenion might change this
return code to be something that would allow scripts to run without seeing this
as an error.