Provenance
The polaris.provenance module defines a function
polaris.provenance.write() for creating a file in the base work
directory with provenance, such as the git version, conda packages, polaris
commands, and tasks.
For both Polaris and the component, the file records the git version, the
full hash and the last five first-parent commits (polaris git version,
polaris git hash, polaris git log and the same for component). The logs
are on indented lines after their label, so every other entry can be read one
line at a time.
The component entries come from the source record that Polaris’s build scripts
write into the build directory (see Build utilities), so they name the commit
that was built. For a build without a record, such as one made by hand, they
come from the build’s source tree at setup, which may have moved since the
build, and are marked (at setup, not build).