hgweb: compatibility of hgweb.cgi template with Python 3 stable
authorHarald Klimach <harald@klimachs.de>
Wed, 02 Sep 2020 12:31:37 +0200
branchstable
changeset 45398 d58a205d0672
parent 45397 148d177a4f2d
child 45411 a42999f611ff
child 45412 aaeccdb6e654
hgweb: compatibility of hgweb.cgi template with Python 3 When running Mercurial on Python 3 hgweb expects the config variable to be a bytestring. The solution proposed by Anton Shestakov is to use a byteprefix to the literal string defined cgi script as provided in this patch for hgweb.cgi, contrib/hgweb.fcgi and contrib/hgweb.wsgi. I am not sure whether this covers all relevant templates, but I couldn't find others. Differential Revision: https://phab.mercurial-scm.org/D8978
contrib/hgweb.fcgi
contrib/hgweb.wsgi
hgweb.cgi
--- a/contrib/hgweb.fcgi	Tue Sep 01 10:33:10 2020 -0400
+++ b/contrib/hgweb.fcgi	Wed Sep 02 12:31:37 2020 +0200
@@ -3,7 +3,7 @@
 # An example FastCGI script for use with flup, edit as necessary
 
 # Path to repo or hgweb config to serve (see 'hg help hgweb')
-config = "/path/to/repo/or/config"
+config = b"/path/to/repo/or/config"
 
 # Uncomment and adjust if Mercurial is not installed system-wide
 # (consult "installed modules" path from 'hg debuginstall'):
--- a/contrib/hgweb.wsgi	Tue Sep 01 10:33:10 2020 -0400
+++ b/contrib/hgweb.wsgi	Wed Sep 02 12:31:37 2020 +0200
@@ -2,7 +2,7 @@
 # See https://mercurial-scm.org/wiki/modwsgi for more information
 
 # Path to repo or hgweb config to serve (see 'hg help hgweb')
-config = "/path/to/repo/or/config"
+config = b"/path/to/repo/or/config"
 
 # Uncomment and adjust if Mercurial is not installed system-wide
 # (consult "installed modules" path from 'hg debuginstall'):
--- a/hgweb.cgi	Tue Sep 01 10:33:10 2020 -0400
+++ b/hgweb.cgi	Wed Sep 02 12:31:37 2020 +0200
@@ -4,7 +4,7 @@
 # See also https://mercurial-scm.org/wiki/PublishingRepositories
 
 # Path to repo or hgweb config to serve (see 'hg help hgweb')
-config = "/path/to/repo/or/config"
+config = b"/path/to/repo/or/config"
 
 # Uncomment and adjust if Mercurial is not installed system-wide
 # (consult "installed modules" path from 'hg debuginstall'):