--- a/mercurial/debugcommands.py Sat Apr 01 17:12:48 2017 +0900
+++ b/mercurial/debugcommands.py Fri Dec 15 09:30:16 2017 +0100
@@ -69,6 +69,7 @@
templater,
treediscovery,
upgrade,
+ url as urlmod,
util,
vfs as vfsmod,
)
@@ -786,6 +787,30 @@
localrevs = opts['rev']
doit(localrevs, remoterevs)
+_chunksize = 4 << 10
+
+@command('debugdownload',
+ [
+ ('o', 'output', '', _('path')),
+ ],
+ norepo=True)
+def debugdownload(ui, url, output=None, **opts):
+ """download a resource using Mercurial logic and config
+ """
+ fh = urlmod.open(ui, url, output)
+
+ dest = ui
+ if output:
+ dest = open(output, "wb", _chunksize)
+ try:
+ data = fh.read(_chunksize)
+ while data:
+ dest.write(data)
+ data = fh.read(_chunksize)
+ finally:
+ if output:
+ dest.close()
+
@command('debugextensions', cmdutil.formatteropts, [], norepo=True)
def debugextensions(ui, **opts):
'''show information about active extensions'''