diff -r da3b7c80aa34 -r dc9fe90bdbd5 mercurial/hgweb/common.py --- a/mercurial/hgweb/common.py Mon Aug 03 22:40:05 2020 -0700 +++ b/mercurial/hgweb/common.py Sat Aug 22 16:03:44 2020 -0700 @@ -21,6 +21,7 @@ from .. import ( encoding, pycompat, + templater, util, ) @@ -178,7 +179,7 @@ return True -def staticfile(directory, fname, res): +def staticfile(templatepath, directory, fname, res): """return a file inside directory with guessed Content-Type header fname always uses '/' as directory separator and isn't allowed to @@ -190,6 +191,11 @@ if not ispathsafe(fname): return + if not directory: + tp = templatepath or templater.templatedir() + if tp is not None: + directory = os.path.join(tp, b'static') + fpath = os.path.join(*fname.split(b'/')) path = os.path.join(directory, fpath) try: