A new CLI which can snapshot N copies of a directory using git
stevebuik opened this issue · 1 comments
Question: how has my javascript artifact grown over the past N weeks?
Answer: configurable CLI to select specific commits and generate Shadow snapshots for them.
Following the technique seen here https://github.com/Datomic/codeq/blob/master/src/datomic/codeq/core.clj#L422
it should be possible to build a CLI/main fn using tools.cli which accepts args:
- target directory
- number (N) of commits to generate
- interval (maybe in days) between commits. default is subsequent commits i.e. no interval
It can then cycle through the N most recent commits, checking out each one and generating a shadow snapshot with the git hash as the tag name.
Running this tool in CI, before the Stu illumination CLI, will allow full automation.
The commit selection fn can be implemented as a multi-method with a CLI arg to select it. this allows a couple of includes strategies (last-N and last-N-days) but allows projects to write a custom strategy and select it via the CLI.
The naming for the tags would be best to be "YYYY-MM-DD" so alpha sort makes sense.