CORE-GATECH-GROUP / serpent-tools

A suite of parsers designed to make interacting with SERPENT output files simple and flawless
http://serpent-tools.readthedocs.io/en/latest/
MIT License
52 stars 33 forks source link

[DEV] Dynamic package version based on git history #500

Closed drewejohnson closed 1 year ago

drewejohnson commented 1 year ago

Chose to use setuptools-scm because it's pretty snazzy and doesn't require lots of config files like versioneer does. Or use to require.

Version information is pulled from git tags with the following logic. If you are exactly on a tag, e.g., a release, the version is the tag. Otherwise, information is added to the version to signal you are so many commits ahead of the last release, and sometimes the day on which you installed the package. So, right now, I have 0.9.6.dev15+g4379676 because

  1. I am not the most recent tag 0.9.5
  2. I am 15 commits ahead of the tag
  3. My last commit was 4379676

Sometimes, if you have uncommitted changes, there will be a trailing date marker like .d20230811.

Closes #488