mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
webcommands: allow hgweb's archive to recurse into subrepos
Currently when obtaining an archive snapshot of a repository via the web interface, subrepositories are not taken in the snapshot. I introduce an option, archivesubrepos, which allows this.
This commit is contained in:
parent
167f9d08c6
commit
c9424a0caa
@ -1295,6 +1295,10 @@ The full set of options is:
|
||||
(DEPRECATED) Whether to allow .zip downloading of repository
|
||||
revisions. Default is False. This feature creates temporary files.
|
||||
|
||||
``archivesubrepos``
|
||||
Whether to recurse into subrepositories when archiving. Default is
|
||||
False.
|
||||
|
||||
``baseurl``
|
||||
Base URL to use when publishing URLs in other locations, so
|
||||
third-party tools like email notification hooks can construct
|
||||
|
@ -14,6 +14,7 @@ from common import paritygen, staticfile, get_contact, ErrorResponse
|
||||
from common import HTTP_OK, HTTP_FORBIDDEN, HTTP_NOT_FOUND
|
||||
from mercurial import graphmod, patch
|
||||
from mercurial import help as helpmod
|
||||
from mercurial import scmutil
|
||||
from mercurial.i18n import _
|
||||
|
||||
# __all__ is populated with the allowed commands. Be sure to add to it if
|
||||
@ -799,7 +800,11 @@ def archive(web, req, tmpl):
|
||||
headers.append(('Content-Encoding', encoding))
|
||||
req.header(headers)
|
||||
req.respond(HTTP_OK)
|
||||
archival.archive(web.repo, req, cnode, artype, prefix=name)
|
||||
|
||||
ctx = webutil.changectx(web.repo, req)
|
||||
archival.archive(web.repo, req, cnode, artype, prefix=name,
|
||||
matchfn=scmutil.match(ctx, []),
|
||||
subrepos=web.configbool("web", "archivesubrepos"))
|
||||
return []
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user