illinois-ceesd / emirge

Environment for MirgeCom
MIT License
4 stars 3 forks source link

Tracking provenance through merges #140

Open MTCam opened 2 years ago

MTCam commented 2 years ago

We often merge multiple branches together when creating a simulation capability, and our current provenance is insufficient for recreating the code/env after such an operation.

For example, the automated timing procedure for lazy runs goes something like:

  1. emirge install parallel-lazy
  2. merge y1-production

We record the hashes for these branches in the timing script - but the built-in provenance (i.e. versions.sh --> sqlite) misses the mark with its hashes after the y1-production merge.

Some possibilities for dealing with this issue:

FIXME Maybe loop looking for more temp commits?

if test "$(git show -s --format=%s HEAD)" = "temp"; then for parent in $(git show -s --format=%P HEAD) ; do echo -n "$parent" git name-rev "$parent" done fi



* Going forward, we want to make sure that timings (or other production drivers) work off of branches that are checked in and emirge-compatible.