Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 11 Apr 2017 22:07:15 +0200] rev 31894
upgrade: update the header comment
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 11 Apr 2017 22:01:13 +0200] rev 31893
upgrade: import 'localrepo' globally
The in-function imports mention a cycle that seems to no longer be relevant. As
a result, we just import it globally.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 11 Apr 2017 20:54:50 -0400] rev 31892
largefiles: set the extension as enabled locally after a share requiring it
This has been done for clone since e1dbe0b215ae, so it makes sense here for the
same reasons.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 11 Apr 2017 21:38:11 -0400] rev 31891
windows: add context manager support to mixedfilemodewrapper
I stumbled into this in the next patch. The difference between getting a
context manager capable object or not from vfs classes was as subtle as adding a
'+' to the file mode.
Jun Wu <quark@fb.com> [Tue, 11 Apr 2017 18:31:40 -0700] rev 31890
chg: always wait for pager
Previously, when runcommand raises, chg aborts with, and does not wait for
pager. The call stack is like:
hgc_runcommand -> handleresponse -> readchannel -> debugmsg("failed to
read channel") -> exit(255)
That means, chg returns to the shell, then both the pager and the shell will
read from the terminal at the same time, causing problems.
This patch fixes that by using "atexit" to register the pager cleanup
function so chg will always wait for pager even if runcommand raises.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 09 Apr 2017 19:09:07 +0200] rev 31889
bundle2: move 'seek' and 'tell' methods off the unpackermixin class
These methods are unrelated to unpacking. They are used internally by the
'unbundlepart' class only. So me move them there as private methods.
In the same go, we clarify their internal role in the their docstring.
Kostia Balytskyi <ikostia@fb.com> [Mon, 10 Apr 2017 15:32:09 -0700] rev 31888
shelve: rename nodestoprune to nodestoremove
As per feedback from the community.
Yuya Nishihara <yuya@tcha.org> [Mon, 03 Apr 2017 22:23:52 +0900] rev 31887
templater: port pad() to take keyword arguments
This is another example where keyword arguments can be actually useful.
Yuya Nishihara <yuya@tcha.org> [Mon, 03 Apr 2017 21:22:39 +0900] rev 31886
templater: add support for keyword arguments
Unlike revset, function arguments are pre-processed in templater. That's why
we need to define argspec per function. An argspec field looks somewhat
redundant in @templatefunc definition as a name field contains human-readable
list of arguments. I'll make function doc be built from argspec later.
Ported separate() function as an example.
Yuya Nishihara <yuya@tcha.org> [Mon, 03 Apr 2017 20:55:55 +0900] rev 31885
templater: add parsing rule for key-value pair
Based on the revset implementation, 70a2082f855a. This patch also adjusts
the test as '=' is now a valid token.
Yuya Nishihara <yuya@tcha.org> [Mon, 03 Apr 2017 20:44:05 +0900] rev 31884
templater: adjust binding strengths to make room for key-value operator
Changed as follows:
- template ops (%, |): +10
- arithmetic ops: +1 (but "negate" should be greater than "%")
Yuya Nishihara <yuya@tcha.org> [Mon, 03 Apr 2017 20:37:25 +0900] rev 31883
templater: sort token table by binding strength
Just for readability.
Yuya Nishihara <yuya@tcha.org> [Tue, 04 Apr 2017 22:31:59 +0900] rev 31882
templater: make _hybrid provide more list/dict-like methods
So the JSON filter works.
Yuya Nishihara <yuya@tcha.org> [Tue, 04 Apr 2017 22:20:06 +0900] rev 31881
templater: hide private variable of _hybrid
Yuya Nishihara <yuya@tcha.org> [Tue, 04 Apr 2017 22:19:02 +0900] rev 31880
templater: remove __iter__() from _hybrid, resolve it explicitly
The goal is to fix "{hybrid_obj|json}" output.
A _hybrid object must act as a list or a dict as well as a generator of
legacy template strings. Before, _hybrid.__iter__() was assigned for legacy
template, which conflicted with list.__iter__() API.
This patch drops _hybrid.__iter__() and makes stringify/flatten functions
unwrap a generator instead.
Yuya Nishihara <yuya@tcha.org> [Sun, 24 Apr 2016 19:15:34 +0900] rev 31879
templater: rewrite doc of _hybrid class as docstring
Yuya Nishihara <yuya@tcha.org> [Sun, 09 Apr 2017 11:57:09 +0900] rev 31878
sortdict: fix .pop() to return a value
My future patch will need it.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 10 Apr 2017 17:05:54 +0200] rev 31877
checkcode: only match pushd/popd as word
otherwise it partially match common words like "pushdestination".
Durham Goode <durham@fb.com> [Mon, 10 Apr 2017 13:07:47 -0700] rev 31876
treemanifest: add walksubtrees api
Adds a new function to treemanifest that allows walking over the directories in
the tree. Currently it only accepts a matcher to prune the walk, but in the
future it will also accept a list of trees and will only walk over subtrees that
differ from the versions in the list. This will be useful for identifying what
parts of the tree are new to this revision, which is useful when deciding the
minimal set of trees to send to a client given that they have a certain tree
already.
Since this is intended for an extension to use, the only current consumer is a
test. In the future this function may be useful for implementing other
algorithms like diff and changegroup generation.
Yuya Nishihara <yuya@tcha.org> [Tue, 11 Apr 2017 23:12:14 +0900] rev 31875
merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 10 Apr 2017 18:06:22 +0200] rev 31874
upgrade: drop the prefix to the '_finishdatamigration' function
Now that we are in the 'upgrade' module we can simplify the name.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 10 Apr 2017 18:06:12 +0200] rev 31873
upgrade: drop the prefix to the '_filterstorefile' function
Now that we are in the 'upgrade' module we can simplify the name.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 10 Apr 2017 18:05:57 +0200] rev 31872
upgrade: drop the prefix to the 'determineactions' function
Now that we are in the 'upgrade' module we can simplify the name.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 10 Apr 2017 18:05:42 +0200] rev 31871
upgrade: drop the prefix to the 'findimprovements' function
Now that we are in the 'upgrade' module we can simplify the name.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 10 Apr 2017 18:04:50 +0200] rev 31870
upgrade: drop the prefix to the 'supporteddestrequirements' function
Now that we are in the 'upgrade' module we can simplify the name.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 10 Apr 2017 18:03:11 +0200] rev 31869
upgrade: drop the prefix to the 'allowednewrequirements' function
Now that we are in the 'upgrade' module we can simplify the name.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 10 Apr 2017 18:01:29 +0200] rev 31868
upgrade: drop the prefix to the 'improvement' class
Now that we are in the 'upgrade' module we can simplify the name.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 10 Apr 2017 18:00:27 +0200] rev 31867
upgrade: drop the prefix to the 'supportremovedrequirements' function
Now that we are in the 'upgrade' module we can simplify the name.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 10 Apr 2017 17:56:29 +0200] rev 31866
upgrade: drop the prefix to the 'blocksourcerequirements' function
Now that we are in the 'upgrade' module we can simplify the name.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 10 Apr 2017 17:55:47 +0200] rev 31865
upgrade: drop the prefix to the 'requiredsourcerequirements' function
Now that we are in the 'upgrade' module we can simplify the name.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 07 Apr 2017 18:53:17 +0200] rev 31864
upgrade: extract code in its own module
Given about 2/3 or 'mercurial.repair' is now about repository upgrade, I think
it is fair to move it into its own module.
An expected benefit is the ability to drop the 'upgrade' prefix of many
functions. This will be done in coming changesets.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 09 Apr 2017 19:08:24 +0200] rev 31863
bundle2: move the 'close' method off the unpackermixin
This method is unrelated to unpacking and only used by the unbundle20 class.
We move it there for clarity.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 09 Apr 2017 18:12:54 +0200] rev 31862
bundle2: clarify the docstring of unpackermixin methods
The unpackermixin is a utility used to implement the bundle2 protocol. It should
not be used when writing part handlers. We update the docstring to clarify this.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 09 Apr 2017 18:16:09 +0200] rev 31861
bundle2: add documention to 'part.addparams'
There are some non-obvious limitations on the parameters of this method.
Add some documentation where people will likely look to understand how
to use this API.
Matt Harbison <matt_harbison@yahoo.com> [Mon, 10 Apr 2017 21:12:54 -0400] rev 31860
test-patchbomb: disable sendmail tests on Windows
These tests were failing, and there isn't a trivial way to execute a script on
Windows [1].
[1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-April/096497.html
Ryan McElroy <rmcelroy@fb.com> [Fri, 07 Apr 2017 10:46:32 -0700] rev 31859
show: fix corrupt json output with no bookmarks
Ryan McElroy <rmcelroy@fb.com> [Fri, 07 Apr 2017 10:26:13 -0700] rev 31858
show: tweak plain abort language for clarity
Matt Harbison <matt_harbison@yahoo.com> [Sun, 09 Apr 2017 22:19:27 -0400] rev 31857
tests: print Unix style paths in *.py tests
These tests don't support (glob). I didn't audit all tests, but these ones were
failing.
Jun Wu <quark@fb.com> [Sun, 09 Apr 2017 12:53:31 -0700] rev 31856
revlog: make "size" diverge from "rawsize"
Previously, revlog.size equals to revlog.rawsize. However, the flag
processor framework could make a difference - "size" could mean the length
of len(revision(raw=False)), while "rawsize" means len(revision(raw=True)).
This patch makes it so.
This corrects "hg status" output when flag processor is involved. The call
stack looks like:
basectx.status -> workingctx._buildstatus -> workingctx._dirstatestatus
-> workingctx._checklookup -> filectx.cmp -> filelog.cmp -> filelog.size
-> revlog.size
Jun Wu <quark@fb.com> [Fri, 07 Apr 2017 10:56:53 -0700] rev 31855
test-flagprocessor: add a case about hg status
This shows how "hg status" is wrong - nothing changed but the file is
labeled as "M".
Matt Harbison <matt_harbison@yahoo.com> [Sat, 08 Apr 2017 15:06:45 -0400] rev 31854
test-http-proxy: add the Windows variant of "connection refused"
The full error is "No connection could be made because the target machine
actively refused it".
Matt Harbison <matt_harbison@yahoo.com> [Sat, 08 Apr 2017 15:01:49 -0400] rev 31853
test-fileset: eliminate a duplicate test that was conditionalized for output
Matt Harbison <matt_harbison@yahoo.com> [Sat, 08 Apr 2017 14:55:44 -0400] rev 31852
test-fileset: glob away hash differences
There are various files committed above that can't be used on Windows because of
the name, or being a symlink.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 08 Apr 2017 14:46:39 -0400] rev 31851
test-bundle: glob away a URL protocol separator
MSYS thinks the ':' is a Unix path separator, and replaces it with ';'.
Matt Harbison <matt_harbison@yahoo.com> [Sun, 09 Apr 2017 00:10:54 -0400] rev 31850
templatekw: clarify the result of {latesttag} when no tag exists
My initial expectation was that the list would be empty, and therefore
detectable with {if()}. The map for {latesttag()} is populated with real values
in this case (except {tag}), so it probably doesn't make any sense to change
this to an empty list.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 06 Apr 2017 19:24:04 +0200] rev 31849
hgweb: position the "followlines" box close to latest cursor position
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 06 Apr 2017 19:15:09 +0200] rev 31848
hgweb: add a floating tooltip to invite on followlines action
In followlines.js, we create a <div id="followlines-tooltip"> element to draw
attention of users on "followlines" feature. The element shows up on hover of
source lines after one second and follows the cursor. After first click (start
line selection), the text changes and indicates that next click will terminate
selection.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 08 Apr 2017 14:33:20 -0700] rev 31847
zstd: vendor python-zstandard 0.8.1
This contains a fix for compilation on BSDs.
#no-check-commit