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.