This is an archive of the discontinued Mercurial Phabricator instance.

hgweb: handle None from templatedir() equally bad in webcommands.py
ClosedPublic

Authored by martinvonz on Aug 19 2020, 12:42 AM.

Details

Summary

The following paragraph is based just on my reading of the code; I
have not tried to test it.

Before my recent work on templates in frozen binaries, it seems both
hgwebdir_mod.py and webcommands.py would pass in an empty list
into staticfile() when running in a frozen binary. That would then
result in a variable in that function (path) not getting bound
before its first use. I then changed that without thinking in D8786 so
we passed a None value into the function, which made it break in
another way (trying to iterate over None). Then I tried to fix it up
in D8810, but I only changed hgwebdir_mod.py for some reason, and it
still doesn't actually work in frozen binaries (which seems fair,
since was broken before my changes too).

This patch just replicates the half-assed "fix" from D8810 in
webcommands.py, so they look more similar so I can start refactoring
them in the same way.

Diff Detail

Repository
rHG Mercurial
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.