Skip to content

Improve version/revision format

This results in much nicer an clearer version strings like

Inkscape 0.92+devel (472ec43a01, 2017-07-08, custom)

(compared to Inkscape 0.92+devel trunk-94-g472ec43a01 2017-07-08 custom)

Detailed changes:

  • Drop tag / commit counter produced via git describe.
    It was a nice idea to give people something similar to bazaar revision numbers but it introduces many problems we didn't think of before:
    • git describe needs a tag to work - this means it breaks for shallow clones or any clone that does not include the full history (like in CI or for people who abstained from cloning the full 1.5 GB of our repository.
    • The tag basically reproduces the information we already record in INKSCAPE_VERSION, (e.g. 0.92+devel means trunk on its own and we then duplicate that information in the tag trunk; even less useful for stable branches where we'd obtain something like Inkscape 0.92.2pre1 INKSCAPE_0_92_2_PRE1-13-g...)
    • The revision counter is not really identifying - everybody can create new tags and potentially tags can also be renamed/removed, so we can never really rely on that number making it useless for most scenarios. Furthermore I would have no idea how to get to the 42nd commit, so as a dev I can not even use that number for anything useful and would have to resort to the hash anyway.
    • For everybody who does not want to deal with revision numbers we have the date - it should be easy enough to find the correct commit based on date.
  • Use committer date instead of author date in date strings. Usually they should be similar, but if a merge request gets merged after a long time we suddenly would "go back in time" with our release date making the date string difficult to use for bisecting and similar jobs.
Edited by username-removed-945074

Merge request reports