{"action":"created","issue":{"url":"https://api.github.com/repos/LMMS/lmms/issues/2365","labels_url":"https://api.github.com/repos/LMMS/lmms/issues/2365/labels{/name}","comments_url":"https://api.github.com/repos/LMMS/lmms/issues/2365/comments","events_url":"https://api.github.com/repos/LMMS/lmms/issues/2365/events","html_url":"https://github.com/LMMS/lmms/issues/2365","id":107509140,"number":2365,"title":"Misleading version information","user":{"login":"tresf","id":6345473,"avatar_url":"https://avatars.githubusercontent.com/u/6345473?v=3","gravatar_id":"","url":"https://api.github.com/users/tresf","html_url":"https://github.com/tresf","followers_url":"https://api.github.com/users/tresf/followers","following_url":"https://api.github.com/users/tresf/following{/other_user}","gists_url":"https://api.github.com/users/tresf/gists{/gist_id}","starred_url":"https://api.github.com/users/tresf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tresf/subscriptions","organizations_url":"https://api.github.com/users/tresf/orgs","repos_url":"https://api.github.com/users/tresf/repos","events_url":"https://api.github.com/users/tresf/events{/privacy}","received_events_url":"https://api.github.com/users/tresf/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2015-09-21T13:16:42Z","updated_at":"2015-09-21T19:22:35Z","closed_at":null,"body":"Currently, if someone grabs the master branch, they build LMMS and it will be labeled in respect to the version information in `/CMakeLists.txt`, which currently is `1.1.3`.\r\n\r\nThis is misleading because most developers will build from `master` when developing a new feature and any binaries released will bear the stable version number in the dialogs.\r\n\r\nShould we try to leverage git in the build process to detect a non-stable build?  If so, how should we do the numbering for a non-stable build?\r\n\r\nMy thought is to take a \"nightly\" approach:\r\n\r\n```cmake\r\n   SET(VERSION_MAJOR       \"2015\")\r\n   SET(VERSION_MINOR       \"09\")\r\n   SET(VERSION_PATCH       \"21\")\r\n   # and perhaps\r\n   SET(VERSION_SUFFIX      \"0932\") # 9:32 AM\r\n```\r\n\r\nThis would be done by checking the origin of the `git remote` and if it is not `/lmms/lmms` and does not contain the word `stable` in the branch name, use the above versioning.\r\n\r\nThe biggest downside is that this may have some unintended side-effects when comparing stuff like `ProjectVersion` which uses version_major, etc inside the code for compat code and project and config file upgrades.  Thoughts?"},"comment":{"url":"https://api.github.com/repos/LMMS/lmms/issues/comments/142084221","html_url":"https://github.com/LMMS/lmms/issues/2365#issuecomment-142084221","issue_url":"https://api.github.com/repos/LMMS/lmms/issues/2365","id":142084221,"user":{"login":"tresf","id":6345473,"avatar_url":"https://avatars.githubusercontent.com/u/6345473?v=3","gravatar_id":"","url":"https://api.github.com/users/tresf","html_url":"https://github.com/tresf","followers_url":"https://api.github.com/users/tresf/followers","following_url":"https://api.github.com/users/tresf/following{/other_user}","gists_url":"https://api.github.com/users/tresf/gists{/gist_id}","starred_url":"https://api.github.com/users/tresf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tresf/subscriptions","organizations_url":"https://api.github.com/users/tresf/orgs","repos_url":"https://api.github.com/users/tresf/repos","events_url":"https://api.github.com/users/tresf/events{/privacy}","received_events_url":"https://api.github.com/users/tresf/received_events","type":"User","site_admin":false},"created_at":"2015-09-21T19:22:35Z","updated_at":"2015-09-21T19:22:35Z","body":"> Don't forget, we have comparisons against \"1.1.90\" in our source tree right now (ConfigManager.cpp:140), and switching to YYYY.MM.DD will needlessly destroy such comparisons and upgrade paths inside of development builds.\r\n\r\n1.1.90 is a RC version, which would get its information properly still since:\r\n * It would pass the `grep -i \"lmms/lmms\"` check as well as \r\n * It would pass the `grep \"stable-\"` check\r\n\r\nThis would only affect non-LMMS and non-stable-branch builds.  We could allow an override too if we decide to, but RC releases won't be affected by the example provided."}}