Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 15 Oct 2015 12:45:34 +0100] rev 26684
obsstore: make the readonly attribute accessible
We want to gracefully handle the read only case in some case (current target:
advisory obsmarkers parts in bundle2). So we expose the attribute in a clean
way.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 05 Oct 2015 04:26:26 -0700] rev 26683
update: introduce a 'UpdateAbort' exception
The 'postincoming' function used by 'hg pull --update' and 'hg unbundle' is
catching 'Abort' exceptions to intercept failed update. This feel a bit too
wide to me, so I'm introducing a more precise exception to specify update
destination issues.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 05 Oct 2015 21:42:09 -0700] rev 26682
update: "deprecate" call to 'merge.update' without a destination
Now that all internal callers pre-compute and set a destination at a higher level
it feels like we can kill this API. This will allow us to simplify this
function. However I feel like this is a bit too central and critical to break
now. I'm adding a devel warning to let extension make catch this in the next
cycle.
Christian Delahousse <cdelahousse@fb.com> [Wed, 14 Oct 2015 20:35:06 -0700] rev 26681
shelve: delete shelve statefile on any exception during abort
When a user's repository is in an unfinished unshelve state and they choose to
abort, at a minimum, the repo should be out of that state. We've found
situations where the user could not leave the state unless manually deleting the
state file. This fix ensures that no matter what exception may be raised during
the abort, the shelved state file will be deleted, the user will be out of the
unshelve state and they can get their repository into a workable condition.
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.
Anton Shestakov <av6@dwimlabs.net> [Thu, 15 Oct 2015 00:04:58 +0800] rev 26670
gitweb: visually highlight source lines when hovering over line numbers
Due to how the line links now reside outside of the source lines, hovering over
line numbers doesn't count as hovering over the appropriate source line. It can
be worked around by using a "+" css selector. However, it's necessary to
reorder the elements and put <a> before <span> (which is actually quite
logical). It works without further css tweaks because <a> is already
absolute-positioned and so the order doesn't matter visually.
Christian Delahousse <cdelahousse@fb.com> [Tue, 13 Oct 2015 14:17:15 -0700] rev 26669
rebase: added comments
Added comments describing the state variable and constants used throughout the
rebase extension
Anton Shestakov <av6@dwimlabs.net> [Wed, 14 Oct 2015 22:45:51 +0800] rev 26668
monoblue: visually highlight source lines when hovering over line numbers
Due to how the line links now reside outside of the source lines, hovering over
line numbers doesn't count as hovering over the appropriate source line. It can
be worked around by using a "+" css selector. However, it's necessary to
reorder the elements and put <a> before <span> (which is actually quite
logical). It works without further css tweaks because <a> is already
absolute-positioned and so the order doesn't matter visually.
Anton Shestakov <av6@dwimlabs.net> [Wed, 14 Oct 2015 22:24:50 +0800] rev 26667
monoblue: make the size of line links bigger to cover line numbers better
Due to how the line numbers in monoblue are formed (via css counters), the size
of the area with the numbers and the size of the actually clickable links are
not tied together well enough. Before this patch, there were noticeable "gaps"
between line links - clicking on the bottom part of a visible line number did
nothing as opposed to selecting this line.
Let's set font-size for everything in pre.sourcelines so that it also affects
the links and then add a bit of padding to them so compensate for layout
differences.
This way the sizes are still not 100% the same, but should be very close.
Anton Shestakov <av6@dwimlabs.net> [Sat, 26 Sep 2015 18:16:49 +0800] rev 26666
gitweb: don't drop current revision context on graph page
In hgweb, some pages have a context of current revision; e.g. changelog and
shortlog show changesets starting from this current revision. However, some
gitweb templates were dropping current revision from some urls _to_ /graph page
and _on_ that page. This patch fixes it.
Sean Farley <sean@farley.io> [Tue, 13 Oct 2015 16:05:30 -0700] rev 26665
util: also catch IndexError
This makes life so, so much easier for hgwatchman, which provides a named tuple
but throws an IndexError instead of a TypeError.
Adrian Buehlmann <adrian@cadifra.com> [Wed, 14 Oct 2015 12:23:49 +0200] rev 26664
exewrapper: add comments about PYTHONHOME
This has been a repeating source of confusion for users of HackableMercurial.
Note that users of HackableMercurial should *not* and are *not* expected to set
PYTHONHOME.
Adrian Buehlmann <adrian@cadifra.com> [Wed, 14 Oct 2015 12:23:04 +0200] rev 26663
exewrapper: report name of failed private DLL in error message
Same as in preceding change, but this time it's for the private Python of
HackableMercurial (in hg-python directory next to the hg.exe).
Adrian Buehlmann <adrian@cadifra.com> [Wed, 14 Oct 2015 12:22:09 +0200] rev 26662
exewrapper: report name of failed DLL in error message
This uses C string literal concatenation.
Example output:
$ hg version
abort: failed to load Python DLL python27.dll
Note that HGPYTHONLIB does not contain the trailing .dll, which works here
because the documentation of LoadLibrary [1] says, that if no file name
extension is specified in the filename parameter, the default library
extension .dll is appended.
See [2] for a motivation of this change.
[1] https://msdn.microsoft.com/en-us/library/windows/desktop/ms684175(v=vs.85).aspx
[2] https://selenic.com/pipermail/mercurial/2015-August/048627.html
Mads Kiilerich <madski@unity3d.com> [Tue, 13 Oct 2015 00:16:25 +0200] rev 26661
merge: abort on file/directory case folding collisions (
issue4892)
File/directory case folding collisions cannot be represented on case folding
systems and have to fail.
To detect this and abort early, utilize that for file/directory collisions, a
sorted list of case folded manifest names will have the colliding directory
right after the file.
(This could perhaps be optimized, but this way of doing it also has
directory/directory case folding in mind ... which however not is handled yet.)