sapling/hgext
Durham Goode 01b34be972 hg: prefetch trees before producing changegroup
Summary:
When building a changegroup, sometimes we need to access the list of
files changed by each commit. To do so we need to inspect the manifest.
Previously this would end up downloading each tree one-by-one, producing a bunch
of pack files. With this patch we now do one bulk download at the very
beginning.

Reviewed By: quark-zju

Differential Revision: D6873076

fbshipit-source-id: b916c15efca0770129340f798d3e7b165da6aec9
2018-04-13 21:51:01 -07:00
..
absorb absorb: add -d option to include descriptions in absorb output 2018-04-13 21:50:58 -07:00
convert memfilectx: make changectx argument mandatory in constructor (API) 2017-12-11 09:27:40 -08:00
extlib treedirstate: bugfix 2018-04-13 21:51:01 -07:00
fastannotate check-module-imports: fix fastannotate, absorb and traceprof 2018-01-09 15:10:05 -08:00
fastmanifest hgext: use relative imports wherever possible 2018-04-13 21:50:56 -07:00
fbamend imports: import from hgext instead of hgext3rd 2018-01-09 15:23:52 -08:00
fsmonitor fsmonitor: add telemetry for watchman status 2018-04-13 21:51:00 -07:00
hggit simplecache: fix for hggit 2018-04-13 21:50:55 -07:00
hgsubversion hg: fix import statements that cause HGDEMANDIMPORT=disable 2018-01-12 12:20:29 -08:00
highlight highlight: eagerly discover plugin lexers while demandimport is off 2017-12-08 16:14:19 -05:00
infinitepush Improve UX for short hash infinitepush feature 2018-04-13 21:51:00 -07:00
lfs Fixing LFS upload 2018-04-13 21:50:58 -07:00
p4fastimport tests: update check tests 2018-04-13 21:50:55 -07:00
remotefilelog hg: prefetch trees before producing changegroup 2018-04-13 21:51:01 -07:00
treemanifest hg: prefetch trees before producing changegroup 2018-04-13 21:51:01 -07:00
zeroconf zeroconf: do not crash if socket being read is closed by another thread 2017-10-02 20:23:25 -07:00
__init__.py hgext: officially turn 'hgext' into a namespace package 2016-02-27 12:56:26 +01:00
acl.py acl: make sure the extensions is enabled when the acl-hooks run 2017-10-14 01:16:03 +02:00
age.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
amend.py amend: error out if the note is greater than 255bytes 2017-10-19 03:20:47 +05:30
arcdiff.py hgext: use relative imports wherever possible 2018-04-13 21:50:56 -07:00
automv.py py3: handle keyword arguments in hgext/automv.py 2017-10-22 23:52:22 +05:30
backups.py hgext: use relative imports wherever possible 2018-04-13 21:50:56 -07:00
blackbox.py configitems: register the 'blackbox.maxfiles' config 2017-10-11 22:51:23 +02:00
bugzilla.py registrar: host "dynamicdefault" constant by configitem object 2017-10-21 13:13:20 +09:00
bundle2hooks.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
catnotate.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
censor.py revlog: rename constants (API) 2017-05-17 19:52:18 -07:00
checkmessagehook.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
children.py children: fix the log expansion of hg children in doc 2017-10-31 06:39:38 +05:30
chistedit.py hgext: use relative imports wherever possible 2018-04-13 21:50:56 -07:00
churn.py py3: handle keyword arguments in hgext/churn.py 2017-10-23 00:01:16 +05:30
cleanobsstore.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
clindex.pyx hg: basic support for building hg using buck 2018-04-13 21:50:58 -07:00
clonebundles.py clonebundles: fix missing newline character 2017-05-24 22:59:59 -04:00
commitextras.py py3: handle keyword arguments in hgext/commitextras.py 2017-10-23 00:01:45 +05:30
configwarn.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
conflictinfo.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
copytrace.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
crdump.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
debugcommitmessage.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
debuginhibit.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
debugshell.py debugshell: enable it by default 2018-01-17 12:54:24 -08:00
dialect.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
directaccess.py fb-hgext: fix gendoc-related issues 2018-01-09 03:44:33 -08:00
dirsync.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
drop.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
edrecord.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
eol.py eol: ensure the eol extensions is loaded when hooks run 2017-10-14 01:09:46 +02:00
errorredirect.py extensions: default-on conflictinfo, errorredirect, ... 2018-04-13 21:50:54 -07:00
extdiff.py configitems: register the 'extdata.*.diffargs' config 2017-10-14 00:34:46 +02:00
extorder.py hgext: use relative imports wherever possible 2018-04-13 21:50:56 -07:00
extutil.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
factotum.py configitems: register the 'factotum.service' config 2017-06-30 03:42:15 +02:00
fastlog.py hgext: use relative imports wherever possible 2018-04-13 21:50:56 -07:00
fastpartialmatch.py hgext: use relative imports wherever possible 2018-04-13 21:50:56 -07:00
fastverify.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
fbconduit.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
fbhistedit.py update hg rebase -i -s to bail out on unsupported src revs 2018-04-13 21:51:00 -07:00
fbshow.py fbshow: add whitespace handling to hg show 2018-04-13 21:50:53 -07:00
fbsparse.py sparse: don't materialize sparse files during IMM 2018-01-16 17:43:19 -08:00
fetch.py py3: handle keyword arguments in hgext/fetch.py 2017-10-23 00:02:28 +05:30
fixcorrupt.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
generic_bisect.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
githelp.py hgext: use relative imports wherever possible 2018-04-13 21:50:56 -07:00
gitlookup.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
gitrevset.py fb-hgext: fix gendoc-related issues 2018-01-09 03:44:33 -08:00
gpg.py configitems: register the 'gpg' arbitraty key section 2017-10-13 23:26:16 +02:00
graphlog.py py3: handle keyword arguments in hgext/graphlog.py 2017-10-23 00:03:08 +05:30
grepdiff.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
grpcheck.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
hgk.py py3: handle keyword arguments in hgext/hgk.py 2017-10-23 00:03:27 +05:30
hgsql.py hgsql: integrate with hg-crew 2018-01-04 07:22:19 -08:00
hiddenerror.py fb-hgext: fix gendoc-related issues 2018-01-09 03:44:33 -08:00
histedit.py histedit: add ui.log for action count 2018-01-03 05:35:56 -08:00
inhibit.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
inhibitwarn.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
interactiveui.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
journal.py journal: use pager 2018-01-03 05:35:56 -08:00
linkrevcache.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
logginghelper.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
logtoprocess.py codemod: use pycompat.iswindows 2017-10-12 23:30:46 -07:00
lz4revlog.py lz4revlog: internalize extension and test 2018-01-03 07:15:33 -08:00
mergedriver.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
morecolors.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
morestatus.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
mq.py mq: copy pager attributes back to qrepo.ui 2017-10-21 13:42:43 +09:00
myparent.py fb-hgext: fix gendoc-related issues 2018-01-09 03:44:33 -08:00
nointerrupt.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
notify.py configitem: register the 'notify.changegroup' config 2017-10-13 21:50:43 +02:00
obsshelve.py hgext: use relative imports wherever possible 2018-04-13 21:50:56 -07:00
ownercheck.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
pager.py configitems: register the 'pager.attend-.*' options 2017-10-11 02:26:09 +02:00
patchbomb.py configitems: register 'email.to' and 'patchbomb.to' 2017-10-20 22:25:09 +09:00
patchpython.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
patchrmdir.pyx patchrmdir: move to hgext 2018-01-08 19:25:13 -08:00
perftweaks.py perftweaks: fold isgooddelta tweak into core 2018-04-13 21:50:53 -07:00
phabdiff.py hgext: use relative imports wherever possible 2018-04-13 21:50:56 -07:00
phabstatus.py hgext: use relative imports wherever possible 2018-04-13 21:50:56 -07:00
phrevset.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
progressfile.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
pullcreatemarkers.py hgext: use relative imports wherever possible 2018-04-13 21:50:56 -07:00
purge.py commands: move templates of common command options to cmdutil (API) 2017-05-14 16:19:47 +09:00
pushrebase.py hg: fix treeonly prepushrebase python hooks for treeonly pushes 2018-04-13 21:51:00 -07:00
rage.py hgext: use relative imports wherever possible 2018-04-13 21:50:56 -07:00
rebase.py rebase: fix a bug where rebases would wrongly be restarted 2018-04-13 21:50:58 -07:00
record.py py3: handle keyword arguments correctly in hgext/record.py 2017-12-10 06:36:48 +05:30
releasenotes.py releasenotes: show a warning if fuzzywuzzy is not present 2017-10-16 22:46:37 +05:30
relink.py extensions: change magic "shipped with hg" string 2016-08-23 11:26:08 -04:00
remoteid.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
remotenames.py hgext: use relative imports wherever possible 2018-04-13 21:50:56 -07:00
reset.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
sampling.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
schemes.py codemod: use pycompat.iswindows 2017-10-12 23:30:46 -07:00
share.py share: move config item declarations into core 2017-11-06 10:33:40 -08:00
shareutil.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
shelve.py py3: handle keyword arguments in hgext/shelve.py 2017-10-23 00:06:49 +05:30
show.py show: move configitems to core 2017-10-18 15:05:03 -07:00
sigtrace.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
simplecache.py simplecache: fix for hggit 2018-04-13 21:50:55 -07:00
smartlog.py smartlog: do not specify -T twice 2018-01-09 06:48:08 -08:00
sparse.py sparse: use relative import 2018-04-13 21:50:53 -07:00
sshaskpass.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
stat.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
strip.py strip: take branch into account when selecting update target (issue5540) 2017-10-05 16:13:05 +02:00
traceprof.pyx hg: basic support for building hg using buck 2018-04-13 21:50:58 -07:00
transplant.py configitems: register the 'transplant.log' config 2017-06-30 03:44:30 +02:00
treedirstate.py hg: fix check code errors 2018-04-13 21:50:58 -07:00
tweakdefaults.py hgext: use relative imports wherever possible 2018-04-13 21:50:56 -07:00
uncommit.py unamend: backout the core version 2018-01-03 05:35:56 -08:00
undo.py hgext: use relative imports wherever possible 2018-04-13 21:50:56 -07:00
upgradegeneraldelta.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
whereami.py fb-hgext: move most of hgext3rd and related tests to core 2018-01-09 03:03:59 -08:00
win32mbcs.py codemod: use pycompat.iswindows 2017-10-12 23:30:46 -07:00
win32text.py configitems: register the 'win32text.warn' config 2017-06-30 03:45:56 +02:00