sapling/mercurial
Pierre-Yves David 1b8f2c7e41 setdiscovery: limit the size of all sample (issue4411)
Further digging on this issue show that the limit on the sample size used in
discovery never works for heads. Here is a quote from the code itself:

  desiredlen = size - len(always)
  if desiredlen <= 0:
      # This could be bad if there are very many heads, all unknown to the
      # server. We're counting on long request support here.

The long request support never landed and evolution make the "very many heads,
all unknown to the server" case quite common.

We implement a simple and stupid hard limit of sample size for all query. This
should prevent HTTP 414 error with the current state of the code.
2014-11-01 23:52:53 +00:00
..
help help: fix config description of ui.reportoldssl 2014-11-01 18:28:54 +01:00
hgweb hgweb: disable SSLv3 serving (BC) 2014-10-21 17:09:37 -04:00
httpclient httpclient: import 4bb625347d4a to provide SSL wrapper injection 2013-09-20 09:15:09 -04:00
pure parsers: inline fields of dirstate values in C version 2014-05-27 14:27:41 -07:00
templates log: show phase in hg log -v with the phase template 2014-10-04 17:52:59 -04:00
__init__.py Add back links from file revisions to changeset revisions 2005-05-03 13:16:10 -08:00
ancestor.py ancestors: add a __nonzero__ method 2014-08-15 15:57:50 -07:00
archival.py archive: raise error.Abort if the file pattern matches no files 2013-03-21 22:09:15 +01:00
base85.c base85: cast Py_ssize_t values to int (issue3481) 2012-06-04 16:59:34 +02:00
bdiff.c bdiff: avoid a memory error on malloc failure 2013-10-30 16:03:42 -05:00
bookmarks.py bookmarks: explicitly track identical bookmarks 2014-10-24 10:40:37 -07:00
branchmap.py branchmap: pre-filter topological heads before ancestors based filtering 2014-08-30 12:33:12 +02:00
bundle2.py bundle2: transmit exception during part generation 2014-10-15 03:52:20 -07:00
bundlerepo.py incoming: don't request heads that already are common 2014-08-15 03:24:40 +02:00
byterange.py byterange: remove now-unused sys import 2013-02-09 07:44:22 -06:00
changegroup.py prechangegroup: use hook argument from the transaction 2014-10-14 00:43:20 -07:00
changelog.py changelog: use headrevsfiltered 2014-10-26 12:14:12 +01:00
cmdutil.py amend: abort early if no username is configured with evolve enabled (issue4211) 2014-10-28 23:05:19 -04:00
commands.py debuglocks: add missing usage summary 2014-11-01 13:13:04 -05:00
commandserver.py cmdserver: include pid of server handling requests in hello message 2014-10-18 12:24:50 +09:00
config.py ui: move samplehgrcs from config 2014-09-11 12:26:12 -05:00
context.py i18n: make hint message of exception translatable 2014-11-01 02:43:08 +09:00
copies.py amend: fix amending rename commit with diverged topologies (issue4405) 2014-10-16 06:35:06 -07:00
dagparser.py en-us: labeled 2012-08-17 13:58:18 -07:00
dagutil.py dagutils: fix docstrings for singleton internalize/externalize 2014-08-15 19:43:32 +02:00
demandimport.py demandimport: pass proper level to __import__ in Python 3 2014-05-10 14:57:25 -07:00
diffhelpers.c diffhelpers: use Py_ssize_t in testhunk() 2012-05-12 14:00:51 +02:00
dirs.c parsers: inline fields of dirstate values in C version 2014-05-27 14:27:41 -07:00
dirstate.py status: update and move documentation of status types to status class 2014-10-10 10:14:35 -07:00
discovery.py discovery: prevent crash on unknown remote heads with old repo (issue4337) 2014-08-14 16:26:41 -07:00
dispatch.py error: add CensoredNodeError, will be thrown when content deliberately erased 2014-09-03 15:59:03 -04:00
dummycert.pem ssl: on OS X, use a dummy cert to trick Python/OpenSSL to use system CA certs 2014-09-26 02:19:48 +02:00
encoding.py encoding: avoid cyclic dependency around "parsers" in pure Python build 2014-10-17 02:07:04 +09:00
error.py repoview: add a FilteredRepoLookupError 2014-10-16 02:06:12 -07:00
exchange.py exchange: don't report failure from identical bookmarks 2014-10-24 17:24:46 -05:00
exewrapper.c exewrapper: adapt for legacy HackableMercurial 2012-08-07 11:04:41 +02:00
extensions.py version: show enabled extensions (issue4209) 2014-06-10 13:44:37 +03:00
fancyopts.py fancyopts: restore use of callable() since it was readded in Python 3.2 2014-06-23 09:24:16 -04:00
filelog.py filelog: censored files compare against empty data, have 0 size 2014-09-14 20:32:34 -04:00
filemerge.py filemerge: switch the default name for internal tools from internal:x to :x 2014-09-28 17:15:28 +02:00
fileset.py i18n: add i18n comment to error messages of filesets predicates 2014-11-01 02:43:08 +09:00
formatter.py formatter: add general way to switch hex/short functions 2014-10-03 22:20:02 +09:00
graphmod.py dagwalker: drop a useless intermediate variable 2014-10-08 02:43:51 -07:00
hbisect.py bisect: report "both good and bad" as such, not as "not directly related" 2013-11-10 18:51:21 +01:00
help.py help: don't search randomly for help data - trust util.datapath 2014-09-28 16:57:47 +02:00
hg.py config: use the same hgrc for a cloned repo as for an uninitted repo 2014-10-06 16:35:02 -04:00
hook.py hook: restore use of callable() since it was readded in Python 3.2 2014-06-23 09:24:38 -04:00
httpconnection.py httpconnection: properly inject ssl_wrap_socket into httpclient (issue4038) 2013-09-20 09:16:07 -04:00
httppeer.py httppeer: close the temporary bundle file after two-way streaming it 2014-10-25 21:34:49 -04:00
i18n.py i18n: cache the result of every gettext call 2014-10-17 13:52:10 -04:00
ignore.py ignore: process hgignore files in deterministic order 2012-12-17 15:57:02 -08:00
keepalive.py util: move md5 back next to sha1 and allow to call it without an argument 2014-09-24 16:00:47 +09:00
localrepo.py hook: protect commit hooks against stripping of temporary commit (issue4422) 2014-11-01 23:17:50 +00:00
lock.py lock: while releasing, unlink lockfile even if the release function throws 2014-10-16 19:15:51 -07:00
lsprof.py profiling: replace '+' markup of nested lines with indentation 2013-02-08 22:54:48 +01:00
lsprofcalltree.py drop unused imports 2009-05-14 15:35:46 +02:00
mail.py python2.4: fix imports of sub-packages of the email package 2013-09-24 15:10:32 -04:00
manifest.py manifest: transpose pair of pairs from diff() 2014-10-14 23:18:07 -07:00
match.py match: remove unnecessary setting of self._always 2014-09-30 15:58:08 -07:00
mdiff.py diff: add nobinary config to suppress git-style binary diffs 2014-06-21 15:56:49 +10:00
merge.py manifest: transpose pair of pairs from diff() 2014-10-14 23:18:07 -07:00
minirst.py help: show all nested subsections of a section with hg help foo.section 2014-10-06 07:35:53 -04:00
mpatch.c mpatch: rewrite pointer overflow checks 2013-12-11 18:33:42 -06:00
node.py Update license to GPLv2+ 2010-01-19 22:20:08 -06:00
obsolete.py obsstore: record data as floating point in fm0 format 2014-10-16 14:46:37 -07:00
osutil.c osutil: tab damage, how i hate thee 2012-12-03 13:17:01 -08:00
parser.py parser: allow passing a lookup function to a tokenizer 2014-03-18 17:17:23 -05:00
parsers.c parsers: introduce headrevsfiltered in C extension 2014-10-26 12:14:10 +01:00
patch.py patch: enable diff.tab markup for the color extension 2014-08-20 15:15:50 -04:00
pathencode.c pathencode: eliminate signed integer warnings 2014-02-19 13:11:24 -08:00
pathutil.py subrepo: normalize path in the specific way for problematic encodings 2014-05-08 19:03:00 +09:00
peer.py peer: delete double definition of method peer 2012-07-28 22:36:22 +02:00
phases.py phases: inform transaction-related hooks that a phase was moved 2014-10-12 08:03:20 -07:00
posix.py checklink: always close the NamedTemporaryFile 2014-10-15 15:13:43 -04:00
pushkey.py obsolete: add exchange option 2014-10-14 13:26:01 -07:00
pvec.py pvec: use the correct name for an identifier 2013-04-12 17:20:09 -07:00
py3kcompat.py py3kcompat: drop unused export 2014-05-13 15:22:36 -05:00
repair.py repair: use first instead of direct indexing 2014-10-07 00:09:50 -07:00
repoview.py repoview: remove hiddencache verification 2014-10-06 07:29:40 -07:00
revlog.py revlog: move references to revlog.hash to inside the revlog class 2014-09-24 15:14:44 -04:00
revset.py addset: fix first and last on sorted addset (issue4426) 2014-11-01 22:58:30 +00:00
scmposix.py config: don't read the same config file twice 2014-09-04 21:36:35 +02:00
scmutil.py status: update and move documentation of status types to status class 2014-10-10 10:14:35 -07:00
scmwindows.py config: don't read the same config file twice 2014-09-04 21:36:35 +02:00
setdiscovery.py setdiscovery: limit the size of all sample (issue4411) 2014-11-01 23:52:53 +00:00
similar.py cleanup: eradicate long lines 2012-05-12 15:54:54 +02:00
simplemerge.py simplemerge: remove dead code 2014-08-07 12:51:45 -04:00
sshpeer.py sshpeer: forward stdout of remote "hg init" to appropriate output channel 2014-10-14 21:59:39 +09:00
sshserver.py changegroup: rename bundle-related functions and classes 2014-09-02 12:11:36 +02:00
sslutil.py sslutil: only support TLS (BC) 2014-10-21 17:01:23 -04:00
statichttprepo.py statichttp: respect localrepo _restrictcapabilities 2014-04-07 11:45:50 -07:00
store.py store: drop unused existing list 2014-04-03 12:59:12 -05:00
strutil.py Update license to GPLv2+ 2010-01-19 22:20:08 -06:00
subrepo.py subrepo: use separate instances of empty lists in status 2014-10-11 22:43:14 -07:00
tagmerge.py filemerge: add internal:tagmerge merge tool 2014-06-26 01:20:25 +02:00
tags.py tags: introduce _readtaghist function 2014-06-28 01:42:39 +02:00
templatefilters.py templater: add count template filter, plus tests 2014-09-09 22:14:13 +09:00
templatekw.py templater: implement __len__ for _hybrid 2014-09-08 20:12:58 +09:00
templater.py i18n: add i18n comment to error messages of template functions 2014-11-01 02:43:08 +09:00
transaction.py transaction: only generate file when we actually close the transaction 2014-10-17 21:25:48 -07:00
treediscovery.py discovery: stop using nodemap for membership testing 2013-11-15 23:28:43 -05:00
ui.py ui: separate option to show prompt echo, enabled only in tests (issue4417) 2014-10-21 23:16:46 +09:00
unionrepo.py config: set a 'source' in most cases where config don't come from file but code 2014-03-19 02:45:14 +01:00
url.py proxy: remove unneeded _set_hostport for compatibility with Python 2.7.7rc1 2014-05-22 22:05:26 +09:00
util.h util.h: declare dirstateTupleType variable instead of defining it 2014-07-03 19:05:04 +02:00
util.py util.fspath: use a dict rather than a linear scan for lookups 2014-10-24 11:39:39 -07:00
verify.py verify: report censored nodes if configured policy is abort 2014-10-14 16:16:04 -04:00
win32.py win32: backout 6891e5c66508 2014-05-03 10:33:54 +02:00
windows.py platform: implement readpipe() 2014-08-15 20:02:18 -07:00
wireproto.py bundle2: change header size and make them signed (new format) 2014-10-01 23:40:23 -05:00
worker.py cleanup: avoid _ for local unused tmp variables - that is reserved for i18n 2014-08-15 16:20:47 +02:00