[PATCH STABLE] largefiles: make sure debugstate command is populated before wrapping
Yuya Nishihara
yuya at tcha.org
Thu May 4 07:12:28 UTC 2017
# HG changeset patch
# User Yuya Nishihara <yuya at tcha.org>
# Date 1493879031 -32400
# Thu May 04 15:23:51 2017 +0900
# Branch stable
# Node ID 037baeadd16765992775e027e8cf5fd4cca1f28b
# Parent 40785ccab41006f61039714d0d9b2ed09e401b2a
largefiles: make sure debugstate command is populated before wrapping
Copied the hack from 869d660b8669, which seemed the simplest workaround.
Perhaps debugcommands.py should have its own commands table.
diff --git a/hgext/largefiles/uisetup.py b/hgext/largefiles/uisetup.py
--- a/hgext/largefiles/uisetup.py
+++ b/hgext/largefiles/uisetup.py
@@ -21,6 +21,7 @@ from mercurial import (
cmdutil,
commands,
copies,
+ debugcommands,
exchange,
extensions,
filemerge,
@@ -39,6 +40,11 @@ from . import (
)
def uisetup(ui):
+ # TODO: debugcommands should use a separate command table
+ # Side-effect of accessing is debugcommands module is guaranteed to be
+ # imported and commands.table is populated.
+ debugcommands.command
+
# Disable auto-status for some commands which assume that all
# files in the result are under Mercurial's control
diff --git a/tests/test-largefiles.t b/tests/test-largefiles.t
--- a/tests/test-largefiles.t
+++ b/tests/test-largefiles.t
@@ -212,6 +212,25 @@ Test display of largefiles in hgweb
$ killdaemons.py
#endif
+Test largefiles can be loaded in hgweb (wrapcommand() shouldn't fail)
+
+ $ cat <<EOF > "$TESTTMP/hgweb.cgi"
+ > #!/usr/bin/env python
+ > from mercurial import demandimport; demandimport.enable()
+ > from mercurial.hgweb import hgweb
+ > from mercurial.hgweb import wsgicgi
+ > application = hgweb('.', 'test repo')
+ > wsgicgi.launch(application)
+ > EOF
+
+ $ PATH_INFO='/' \
+ > QUERY_STRING='' \
+ > REQUEST_METHOD='GET' \
+ > SCRIPT_NAME='' \
+ > SERVER_NAME='localhost' \
+ > SERVER_PORT='80' \
+ > python "$TESTTMP/hgweb.cgi" > /dev/null
+
Test archiving the various revisions. These hit corner cases known with
archiving.
More information about the Mercurial-devel
mailing list