Skip to content

Conversation

@nefarius2001
Copy link
Contributor

my answer to #475

for all "normal" builds a git hash will be appended, separated to the version with a "-"
by specifying "official_release_version" in CONFIG this is not happening

"3.6.2" << official release
"3.6.2-37f993aa" << intermediate release
"3.6.2-37f993aa-dirty" << intermediate release

tested on windows looking at the "about" info

nefarius2001 added 2 commits January 24, 2021 02:15
(cherry picked from commit 94680ce5d5e4eaaa5cb8f970d458c0b53dbe0ea4)
@nefarius2001 nefarius2001 changed the title #475 git hash & status in verison info DISCISSION ONLY #475 git hash & status in verison info Jan 24, 2021
@nefarius2001 nefarius2001 changed the title DISCISSION ONLY #475 git hash & status in verison info #475 git hash & status in verison info Jan 24, 2021
@nefarius2001
Copy link
Contributor Author

@corrados please state if these version names are fine to you, or if you want to keep the “git” appendix. To me a hash is more intuitive to indicate a intermediate state, than the name of a tool/a location.

@ann0see : good point about change log detection, will check

@ann0see
Copy link
Member

ann0see commented Jan 24, 2021

We could also make your proposal compatible with the current one (just add git to the version).

Or another proposal:

3.6.2 official release

3.6.2dev during development (unofficial)? This wouldn't break the changelog detection and be less confusing than 3.6.2git.

@corrados
Copy link
Contributor

3.6.2dev during development (unofficial)

That is a good idea.

@corrados
Copy link
Contributor

@fleutot and @storeilly Do you also like to comment on this pull request?

@storeilly
Copy link

I think that detailed version info needs to be available somewhere, especially for headless operation.
For me the dev / git extension would only be significant to show official release versions and I've removed them in favour of the "rev-parse --short HEAD" command in all of my builds as they are currently different from the official release.

@fleutot
Copy link

fleutot commented Jan 24, 2021

@storeilly I think using "git describe [options]" alone suffices. It should look for the latest annotated tag and you wouldn't need to manually change "3.6.2".

What do you think of the behavior of git describe --dirty=-dev --always?

@storeilly
Copy link

@storeilly I think using "git describe [options]" alone suffices. It should look for the latest annotated tag and you wouldn't need to manually change "3.6.2".

What do you think of the behavior of git describe --dirty=-dev --always?

It's very clever and probably the correct method for the main code base, I'm not qualified to dispute it :) On my fork the hex string is enough for me. (Team of 1)

@nefarius2001
Copy link
Contributor Author

What do you think of the behavior of git describe --dirty=-dev --always?
I see a danger for confusion " --dirty=-dev", because dev means between releases, and dirty means between commits.

Also I think a hash is "safer" for implementing, known length and uncritical characters:
git describe --match=xxxxxxxxxxxxxxxxxxxx --always --abbrev --dirty

Jamulus.pro Outdated
}

#allow detailed version info for intermediate builds
contains(CONFIG, "official_release_version") {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why to use a config flag for it? Couldn't you parse the VERSION and if you find a "dev" then you know it is a developer version and if no "dev" is present, you know it is an official release version.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What I do when I create a new release is that I modify the ChangeLog and then I update the VERSION in the .pro file and create a Git commit from it. Then I apply the release tag. Then ann0see's automation detects that it is an official release version and starts his scripts. In that Git commit, the VERSION is set correctly to a release version number (which matches the entry in the ChangeLog).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then ann0see's automation detects that it is an official release version and starts his scripts [...]

Exactly. If you merge @nefarius2001 changes, the latest tag will not be applied to this commit and you'll still need to add it automatically. (Just wanted to add this).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@corrados I had concerns, that somehow it might be forgotten/screwed up to add the "dev" appendix after removing it for the release. But it makes the job much easier, so lets go that road

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ann0see "the latest tag will not be applied to this commit" -> What do you mean by this? Do you refer to your Git automation scripts which do a release if a release tag is applied to the repo? But here we are talking about the version number shown in the Jamulus software. If the "dev" is not there, nothing happens (at least when looking at the code after the latest change).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had concerns, that somehow it might be forgotten/screwed up to add the "dev" appendix after removing it for the release.

The is the very first thing I am doing after finishing a release. You can take a look at the Git history if you like.

Copy link
Member

@ann0see ann0see Jan 24, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you refer to your Git automation scripts which do a release if a release tag is applied to the repo?

Yes. That was just an addition to your answer. I wasn't sure you were aware of this.

Everything else should be discussed between nefarius and you.

@corrados
Copy link
Contributor

Thanks.

@corrados corrados merged commit a7d4071 into jamulussoftware:master Jan 25, 2021
@nefarius2001 nefarius2001 deleted the hash_in_verisoninfo branch January 25, 2021 19:48
@pljones pljones added this to the Release 3.7.0 milestone Nov 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Triage

Development

Successfully merging this pull request may close these issues.

6 participants