Matt Mackall <mpm@selenic.com> [Fri, 05 Jun 2015 13:00:18 -0500] rev 25449
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Jun 2015 22:10:32 -0700] rev 25448
dirstate: avoid invalidating every entries when list is empty
Default value was not tested with 'is None', this made empty list seen as
default value and result the invalidation of every single entry in the
dirstate. On repos with hundred of thousand of files, this results in minutes
of lookup time instead nothing.
This is a text book example of why we should test 'is None' if this is what we
mean.
Laurent Charignon <lcharignon@fb.com> [Fri, 05 Jun 2015 10:44:34 -0700] rev 25447
crecord: fix a typo introduced when moving crecord to core
When moving crecord to core, I did a search an replace to remove all of the
variable with caps letter. Doing so, I unfortunately changed the 'F' command
to 'f' leading to two 'f' commands, one never used. This patch fixes this
mistake and re enables the behavior of 'F'.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 01 Jun 2015 22:34:01 -0700] rev 25446
pull: prevent race condition in bookmark update when using -B (issue4689)
We are already fetching remote bookmarks to honor the -B option, we
now pass that data to the pull process so it can reuse it. This
prevents a race condition between the initial looking and the actual
pulling of changesets and bookmarks. Tests are updated to handle this
fact.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 02 Jun 2015 00:43:11 -0700] rev 25445
pull: allow a generic way to pass parameters to the pull operation
We have been feeling the need for this in extensions for quite some time. This
will be used to pass remote bookmark information around in the next changesets.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 01 Jun 2015 22:29:49 -0700] rev 25444
pull: skip pulling remote bookmarks with bundle2 if a value already exists
For efficiency and consistency purpose, remote bookmarks, retrieved at the time
the pull command code is doing lookup, will be reused during the core pull
operation.
A second step toward this is to avoid requesting bookmark information in
the bundle 2 if we already have them locally.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 01 Jun 2015 22:28:03 -0700] rev 25443
pull: skip pulling remote bookmarks with bundle1 if a value already exist
For efficiency and consistency purpose, remote bookmarks, retrieved at the time
the pull command code is doing lookup, will be reused during the core pull
operation.
A first step toward this is to setup the logic avoiding pulling the data again
during the discovery phase if some have already been provided.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 01 Jun 2015 17:47:15 -0700] rev 25442
test: pull through http when testing for race conditions
The http server is stateless giving more occasion for race. We switch the test
to http before adding extra cases tests.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 01 Jun 2015 17:54:29 -0700] rev 25441
test: display pre-pull remote bookmark state when testing race condition
This makes it easier to read the test. This will be usefull for comming
changesets testing more race conditions.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 04 Jun 2015 22:11:18 -0400] rev 25440
largefiles: replace match.bad() monkey patching with match.badmatch()
No known issues with the previous code since it restored the original method,
but this is cleaner.
The monkey patching in cat is harmless, because it is created locally, and
doesn't pass it anywhere (subrepo cat isn't supported with largefiles).
Matt Harbison <matt_harbison@yahoo.com> [Thu, 04 Jun 2015 22:02:22 -0400] rev 25439
revert: replace match.bad() monkey patching with match.badmatch()
No known issues with the previous code since it immediately overwrote the
patched, locally create matcher.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 04 Jun 2015 21:55:56 -0400] rev 25438
cat: replace match.bad() monkey patching with match.badmatch()
No known issues with the previous code since it restored the original method,
but this is cleaner.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 04 Jun 2015 21:53:16 -0400] rev 25437
forget: replace match.bad() monkey patching with match.badmatch()
The previous code didn't restore the original method, but it looks like the
worst that would happen is junk added to a list that had already been processed
by previous subrepo invocation(s).
Matt Harbison <matt_harbison@yahoo.com> [Thu, 04 Jun 2015 21:49:50 -0400] rev 25436
add: replace match.bad() monkey patching with match.badmatch()
The previous code didn't restore the original method, but it looks like the
worst that would happen is junk added to a list that had already been processed
by previous subrepo invocation(s).
Matt Harbison <matt_harbison@yahoo.com> [Thu, 04 Jun 2015 21:37:59 -0400] rev 25435
context: replace match.bad() monkey patching with match.badmatch()
No known issues with the previous code since it restored the original method,
but this is cleaner.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 04 Jun 2015 21:25:07 -0400] rev 25434
addremove: replace match.bad() monkey patching with match.badmatch()
No known issues with the previous code since it restored the original method,
but this is cleaner.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 04 Jun 2015 21:19:22 -0400] rev 25433
match: introduce badmatch() to eliminate long callback chains with subrepos
Various bit of code replace the bad method on matchers, and then delegate to the
original bad method after doing some custom processing. At least some of these
forget to restore the original method when the need has passed, and then when
the matcher is passed to the next subrepo (even a sibling), another layer is
added such that the chain looks like:
bad2 -> bad1 -> original
At best, this is a waste of processing, but sometimes spurious messages can be
emitted (e.g. ccb1623266eb).
The trick with this copy of the matcher is to make sure it is *not* passed to
any subrepo- the original must be passed instead.
Yuya Nishihara <yuya@tcha.org> [Fri, 05 Jun 2015 21:45:44 +0900] rev 25432
ssl: remove CERT_REQUIRED constant that was necessary for compatibility
Yuya Nishihara <yuya@tcha.org> [Fri, 05 Jun 2015 21:40:59 +0900] rev 25431
ssl: drop try-except clause that was necessary for ancient Python
Yuya Nishihara <yuya@tcha.org> [Fri, 05 Jun 2015 21:37:46 +0900] rev 25430
ssl: drop support for Python < 2.6, require ssl module
try-except clause is kept for readability of this patch, and it will be
removed soon.
Yuya Nishihara <yuya@tcha.org> [Fri, 05 Jun 2015 21:25:28 +0900] rev 25429
ssl: rename ssl_wrap_socket() to conform to our naming convention
I've removed ssl_ prefix because the module name contains ssl.
Yuya Nishihara <yuya@tcha.org> [Fri, 05 Jun 2015 07:49:06 +0900] rev 25428
test-https: kill only hgweb daemon to restart for client-auth test
This avoids a test failure on Mac OS X. Because tinyproxy.py isn't detached
from the shell, it may complain that a child process is terminated by a signal.
Matt Mackall <mpm@selenic.com> [Thu, 04 Jun 2015 17:51:19 -0500] rev 25427
merge with stable
Matt Harbison <mharbison@attotech.com> [Mon, 01 Jun 2015 18:06:20 -0400] rev 25426
hgwebdir: don't allow the hidden parent of a subrepo to show as a directory
Previously, if a subrepo parent had 'web.hidden=True' set, neither the parent
nor child had a repository entry. However, the directory entry for the parent
would be listed (it wouldn't have the fancy 'web.name' if configured), and that
link went to the repo's summary page, effectively making it not hidden.
This simply disables the directory processing if a valid repository is present.
Whether or not the subrepo should be hidden is debatable, but this leaves that
behavior unchanged (i.e. it stays hidden).
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 03 Jun 2015 14:29:11 -0700] rev 25425
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
The previous scheme was:
1) lookup node for all pulled revision,
2) pull said node
3) lookup the node of the checkout target
4) update the repository there.
If the remote repo changes between (1) and (3), the resolved name will be
different and (3) crash. There is actually no need for a remote lookup during
(3), we could just set the value in (1). This prevent the race condition and
save a possible network roundtrip.
Laurent Charignon <lcharignon@fb.com> [Fri, 29 May 2015 13:11:52 -0700] rev 25424
revert: add an experimental config to use inverted selection
We had a discussion on the list about the interactive ui for revert. This patch
adds a flag to allow people to test the second alternative (referred to as
proposition 2 on the mailing list). It effectively inverts the signs in the
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 20 May 2015 11:44:06 -0500] rev 25423
bundle2: stop capturing output for ssh again
This backout 36111f98f23d since we can have real time output with ssh
again. The tests change is not backed-out because it was a test output
fix.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 20 May 2015 11:41:48 -0500] rev 25422
sshpeer: use the doublepipe object for the server to client channel
This restores real-time output from ssh server while waiting for protocol data
sent by the server.