# HG changeset patch # User Harald Klimach # Date 1599042697 -7200 # Node ID d58a205d06723b7a742ae69f297dec6c4b001de4 # Parent 148d177a4f2dc4b75aab772a90583718253d3e7c 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 diff -r 148d177a4f2d -r d58a205d0672 contrib/hgweb.fcgi --- 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'): diff -r 148d177a4f2d -r d58a205d0672 contrib/hgweb.wsgi --- 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'): diff -r 148d177a4f2d -r d58a205d0672 hgweb.cgi --- 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'):