This is an archive of the discontinued Mercurial Phabricator instance.

config: pass both relative and absolute paths to `include` callback
ClosedPublic

Authored by martinvonz on Jul 22 2020, 1:39 PM.

Details

Summary

The include callback is responsible for loading configs from
%include statements. The callback currently gets passed the absolute
path [1] to the config to read. That is created by joining the dirname
of the file that contains the %include statement. For PyOxidizer
support, I'm trying to reduce dependence on paths. This patch helps
with that by passing the relative path found in the %include
statement (but with username expansion, etc.) to the include
callback. It also turns out that the existing callers can easily adapt
to using the relative path. Coming patches will clean that up and then
we'll remove the absolute path from the callback.

[1] The "absolute path" bit is a bit of a lie -- it's going to be an
absolute path if the path that was passed into config.parse() was
absolute.

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.