sapling/mercurial
Durham Goode a5dab1deb5 hg: support treeonly mode on the server
Summary:
Once all clients are in treeonly mode, we can make the server tree only
mode as well and stop producing flat manifests entirely. This will speed up
pushes, save space, etc. This patch adds support for that mode.

Reviewed By: ryanmce

Differential Revision: D7148825

fbshipit-source-id: 15c899a58dd45af0c030c887c53f66347bc32b01
2018-04-13 21:51:27 -07:00
..
cext xdiff: enable indent heuristic 2018-04-13 21:51:21 -07:00
cffi codemod: use pycompat.isdarwin 2017-10-12 23:34:34 -07:00
default.d mergetools.rc: find OSX FileMerge in the new location inside Xcode 4.3 2015-10-16 11:37:34 +02:00
help changegroup: add a config to tweak deltabase selection 2018-04-13 21:51:22 -07:00
hgweb hg: make file view in hgweb working 2018-04-13 21:51:10 -07:00
httpclient codemod: use single blank line 2018-04-13 21:51:08 -07:00
pure flake8: enable F821 check 2018-04-13 21:51:09 -07:00
templates hgweb: stop using HTML comments in <script> 2017-12-15 12:15:58 +08:00
thirdparty codemod: use single blank line 2018-04-13 21:51:08 -07:00
__init__.py thirdparty: move selectors2 module to where it should be 2017-11-30 22:43:03 +09:00
ancestor.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
archival.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
bdiff.c bdiff: remove trailing newlines 2017-10-04 10:51:39 -04:00
bdiff.h bdiff: include compat.h in header to define ssize_t 2017-10-13 22:38:24 +09:00
bitmanipulation.h fix undefined behavior in bitmanipulation.h 2018-04-13 21:51:13 -07:00
bookmarks.py bookmark: add methods to binary encode and decode bookmark values 2017-10-15 14:59:55 +02:00
branchmap.py branchmap: remove superfluous pass statements 2017-09-30 07:42:59 -04:00
bundle2.py codemod: use single blank line 2018-04-13 21:51:08 -07:00
bundlerepo.py bundlerepo: always copy bundle parts before processing 2018-01-03 05:35:56 -08:00
byterange.py codemod: use single blank line 2018-04-13 21:51:08 -07:00
changegroup.py hg: convert received flat server changegroups to trees 2018-04-13 21:51:26 -07:00
changelog.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
chgserver.py chgserver: import sys module 2018-01-03 05:35:56 -08:00
cmdutil.py add getcmdanddefaultopts 2018-04-13 21:51:24 -07:00
color.py py3: handle keyword arguments correctly in color.py 2017-12-10 04:45:27 +05:30
commands.py add --abort flag to hg graft 2018-04-13 21:51:19 -07:00
commandserver.py commandserver: unblock SIGCHLD 2018-01-03 05:35:56 -08:00
compat.h compatibility: fix core mpatch.h and compat.h 2018-04-13 21:51:24 -07:00
config.py ignore all errors when including config file 2018-04-13 21:51:14 -07:00
configitems.py changegroup: add a config to tweak deltabase selection 2018-04-13 21:51:22 -07:00
context.py hg: add an option to disable filtersuspectsymlink logic 2018-04-13 21:51:20 -07:00
copies.py copies: group wdir-handling in one place 2017-12-14 00:25:03 -08:00
crecord.py hg: remove version check from crecord 2018-04-13 21:50:59 -07:00
dagop.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
dagparser.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
dagutil.py codemod: use single blank line 2018-04-13 21:51:08 -07:00
debugcommands.py progress: add progress.bar, a time-updated progress bar 2018-04-13 21:51:26 -07:00
destutil.py show: implement "stack" view 2017-07-01 22:38:42 -07:00
dirstate.py hg: improve perf interactions with treedirstate 2018-04-13 21:50:58 -07:00
dirstateguard.py dirstate: update backup functions to take full backup filename 2017-07-12 15:24:07 -07:00
discovery.py push: restrict common discovery to the pushed set 2017-12-06 23:33:01 +01:00
dispatch.py mdiff: use xdiff for diff calculation 2018-04-13 21:51:21 -07:00
drawdag.py obsolete: copy obsmarkers from old commits automatically 2018-04-13 21:51:23 -07: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 flake8: enable F821 check 2018-04-13 21:51:09 -07:00
error.py extensions: forbid "foo=" from importing foreign mercurial modules 2018-01-09 17:06:09 -08:00
exchange.py hg: support treeonly mode on the server 2018-04-13 21:51:27 -07:00
exewrapper.c exewrapper: format with clang-format 2017-10-04 11:04:18 -04:00
extensions.py buck: fix tests with opt build 2018-04-13 21:51:09 -07:00
fancyopts.py fancyopts: add early-options parser compatible with getopt() 2017-11-23 22:04:53 +09:00
filelog.py python3: replace sorted(<dict>.iterkeys()) with sorted(<dict>) 2017-08-22 20:06:58 -04:00
filemerge.py merge: use relative path names 2018-04-13 21:51:14 -07:00
fileset.py hg: fix check execute 2018-04-13 21:50:57 -07:00
formatter.py templater: load aliases from [templatealias] section in map file 2017-10-14 18:06:42 +09:00
graphmod.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
hbisect.py revert bisect change 2018-04-13 21:51:23 -07:00
help.py codemod: use single blank line 2018-04-13 21:51:08 -07:00
hg.py hg: skip substate verification if verify.skipmanifests=True 2018-04-13 21:51:20 -07:00
hook.py py3: handle keyword arguments correctly in hook.py 2017-12-10 04:46:50 +05:30
httpconnection.py codemod: use single blank line 2018-04-13 21:51:08 -07:00
httppeer.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
i18n.py i18n: cache translated messages per encoding 2017-10-13 21:36:10 +09:00
interpreter.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
keepalive.py codemod: use single blank line 2018-04-13 21:51:08 -07:00
localrepo.py hg: move mutable manifest lifetime to repo 2018-04-13 21:51:18 -07:00
lock.py lock: allow to configure when the lock messages are displayed 2017-11-29 20:39:59 -05:00
logexchange.py remotenames: rename related file and storage dir to logexchange 2017-12-07 00:26:45 +05:30
lsprof.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
lsprofcalltree.py lsprofcalltree: use print function 2016-01-02 11:45:29 -08:00
mail.py py3: make sure the first argument of time.strftime() is str 2017-11-29 08:44:06 +05:30
main.py buck: fix tests with opt build 2018-04-13 21:51:09 -07:00
manifest.py hg: allow hybrid manifest's to exist without revlogs 2018-04-13 21:51:26 -07:00
match.py match: remove doc about undefined behavior of visitdir() 2017-11-30 22:32:13 +09:00
mdiff.py mdiff: use xdiff for diff calculation 2018-04-13 21:51:21 -07:00
merge.py merge: show progress when updating dirstate after update 2018-04-13 21:51:21 -07:00
mergeutil.py checkunresolved: move to new package to help avoid import cycles 2016-11-21 21:31:45 -05:00
minirst.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
mpatch.c mpatch: switch alignment of wrapped line from tab to spaces with clang-format 2017-10-04 11:00:04 -04:00
mpatch.h compatibility: fix core mpatch.h and compat.h 2018-04-13 21:51:24 -07:00
namespaces.py log: translate column labels at once (issue5750) 2017-12-02 16:29:49 +09:00
node.py node: use byte literals to construct nullid and wdirid 2016-03-12 14:04:57 -08:00
obsolete.py obsolete: covert obsolete relation to a list before processing 2018-04-13 21:51:23 -07:00
obsutil.py perftweaks: move effectflag removal logic to core 2018-04-13 21:50:52 -07:00
parser.py doctest: use print_function and convert bytes to unicode where needed 2017-09-03 14:56:31 +09:00
patch.py patch: avoid repeated binary checks if all files in a patch are text 2018-04-13 21:51:09 -07:00
pathutil.py pathutil: add doctests for canonpath() 2017-11-03 22:22:50 -04:00
peer.py peer: ensure command names are always ascii bytestrs 2017-10-15 00:05:00 -04:00
phases.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
policy.py osutil: add a function to unblock signals 2018-01-03 05:35:56 -08:00
posix.py flake8: resolve some F checks 2018-04-13 21:51:09 -07:00
profiling.py configitems: register the 'profiling.type' config 2017-06-30 03:44:00 +02:00
progress.py progress: add progress.bar, a time-updated progress bar 2018-04-13 21:51:26 -07:00
pushkey.py Preserve order of revisions after hg pullbackup 2018-04-13 21:51:05 -07:00
pvec.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
pycompat.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
rcutil.py codemod: use pycompat.iswindows 2017-10-12 23:30:46 -07:00
registrar.py registrar: don't i18n ProgrammingError message 2017-10-18 22:10:08 -07:00
repair.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
repository.py repository: formalize wire protocol interface 2017-08-13 11:04:42 -07:00
repoview.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
revlog.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
revset.py codemod: use single blank line 2018-04-13 21:51:08 -07:00
revsetlang.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
rewriteutil.py rewriteutil: add a precheck function to check if revs can be rewritten 2017-11-24 03:44:50 +05:30
scmposix.py codemod: use pycompat.isdarwin 2017-10-12 23:34:34 -07:00
scmutil.py Fix typos ("and and" -> "and") 2018-04-13 21:51:19 -07:00
scmwindows.py pager: use less as a fallback on Unix 2017-04-28 20:51:14 +09:00
server.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
setdiscovery.py setdiscover: allow to ignore part of the local graph 2017-12-06 22:44:51 +01:00
similar.py similar: remove caching from the module level 2017-01-13 11:42:36 -08:00
simplemerge.py rebase: tactical fix for rebase dropping flags 2018-04-13 21:51:16 -07:00
smartset.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
sparse.py merge: add merge action 'pr' to rename files during update 2017-10-02 14:05:30 -07:00
sshpeer.py sshpeer: allow for additional environment passing to ssh exe 2017-12-14 14:31:57 +00:00
sshserver.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
sslutil.py py3: handle keyword arguments correctly in sslutil.py 2017-12-10 04:48:59 +05:30
statichttprepo.py statichttprepo: do not use platform path separator to build a URL 2017-10-28 17:23:52 +09:00
statprof.py flake8: enable some E checks 2018-04-13 21:51:09 -07:00
store.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
streamclone.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
subrepo.py codemod: use single blank line 2018-04-13 21:51:08 -07:00
tagmerge.py hgext: use relative imports wherever possible 2018-04-13 21:50:56 -07:00
tags.py codemod: use single blank line 2018-04-13 21:51:08 -07:00
templatefilters.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
templatekw.py log: translate column labels at once (issue5750) 2017-12-02 16:29:49 +09:00
templater.py hg: fix check code errors 2018-04-13 21:50:58 -07:00
transaction.py codemod: use single blank line 2018-04-13 21:51:08 -07:00
treediscovery.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
txnutil.py txnutil: factor out the logic to read file in according to HG_PENDING 2017-02-21 01:20:59 +09:00
ui.py ui: only invoke debug progress path if debug is enabled 2018-04-13 21:51:26 -07:00
unionrepo.py revlog: update signature of dummy addgroup() in bundlerepo and unionrepo 2017-09-15 23:58:45 +09:00
upgrade.py upgrade: simplify workaround for repo.ui.copy() 2017-12-10 19:43:35 +09:00
url.py lfs: add git to the User-Agent header for blob transfers 2017-12-14 13:04:08 -05:00
urllibcompat.py urllibcompat: move some adapters from pycompat to urllibcompat 2017-10-04 11:58:00 -04:00
util.py hg: explain why util.safehasattr should be used 2018-04-13 21:51:18 -07:00
verify.py hg: get rid of len(revlog) requirement in verify 2018-04-13 21:51:22 -07:00
vfs.py rebase: tactical fix for rebase dropping flags 2018-04-13 21:51:16 -07:00
win32.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
windows.py ssh: quote parameters using shellquote (SEC) 2017-08-04 23:54:12 -07:00
wireproto.py flake8: enable F821 check 2018-04-13 21:51:09 -07:00
worker.py worker: handle interrupt on windows 2017-12-18 15:18:37 -08:00