Suggestion: Merge tags into developement branch

I would like to ask the maintainers to do a small adjustment to the branching of the project which will make it easier for packaging and tidy up the git tree a little bit.

For example, if we look at the develop branch and the 0.98 tag, we see that this tag is not part of the 0.98. In fact, the latest tag to be part of the develop branch is 0.95.

The problem is that once a release is tagged, the tag breaks off as an unattached head (on no branch). This goes against most git branching strategies that recommend merging releases into development branches when a release is made.

It makes it so that when I try to figure out what git version a commit belongs to, I get the wrong result:

$ git checkout develop
$ git pull
$ git describe --tags

This is saying that this commit (ee08e6b) is the 1307th commit on the 0.95b version tag.
This is misleading and it makes packaging more complicated.

When packaging, I need to get the version from the git history in order for the packager to know if a package is older than another.

  • 0.95b-1307-… is newer than 0.95b-1306-…
  • 0.95b-1307-… is older than 0.95b-1310-…
  • 0.95b-1307-… is older than 0.98…

Therefore, when installing the AUR package for the stable vcmi, I get version 0.98 and when I, then install the development version, it incorrectly says that the version is 0.95b-1307- which is older. The packager then warns the user of this and it is more confusing.

I am aware that the version is in lib/GameConstants.h, but this is not a very good option for me. It is much simpler to fix the git tree.

I would like to ask a maintainer to run this and then push:

git checkout develop
git merge -X ours 0.98

That should fix tree, you can check by running

$ git describe --tags

Alternatively, you can add the newest tag:

$ git tag 0.98d 38637560093100143b10d1c6365f2889d222e915
$ git describe --tags
$ git push [email protected]:vcmi/vcmi.git --tags

The issue is highlighted in the screenshot attachment