datalad_next.patches.run
Enhance run()
placeholder substitutions to honor configuration defaults
Previously, run()
would not recognize configuration defaults for
placeholder substitution. This means that any placeholders globally declared in
datalad.interface.common_cfg
, or via register_config()
in DataLad
extensions would not be effective.
This patch makes run's format_command()
helper include such defaults
explicitly, and thereby enable the global declaration of substitution defaults.
Moreoever a {python}
placeholder is now defined via this mechanism, and
points to the value of sys.executable
by default. This particular
placeholder was found to be valuable for improving the portability of
run-recording across (specific) Python versions, or across different (virtual)
environments. See https://github.com/datalad/datalad-container/issues/224 for
an example use case.