2016-06-27 10:12 GMT+02:00 Taeumel, Marcel Marcel.Taeumel@hpi.de:
Would it make sense to keep track of the release build number and show the current increment in a separate way? Releases are basically branches from Trunk. E.g.:
source.squeak.org/trunk source.squeak.org/squeak50
At release time, the code base is identical. Then, things might get cherry-picked from trunk into the release branch (here "squeak50"). Then, the summative build number would be confusing because "14023" in squeak50 is not the same as it is in trunk.
What about doing it like GitHub branches and show "number of commits your are behind the main branch"? It could displayed like this:
"Squeak 5.0 (Build 14000 +23/-324)"
This means that the current image is a release image, created from trunk build 14000. There were 23 fixes in this branch since then and current Trunk is already 324 builds ahead.
What do you think?
That looks very cryptic to me. IMHO, if you need to see your build's detailed relation to the initial release or the current trunk, you should ask the SCM system (Monticello) itself. If I were a newcomer, these +/- numbers would confuse me when I want to download a specific image version from the website. I would not expect someone to read a manual to understand the version numbering.
For reference, in the Maven/Java world, artifacts get a version suffixed with -SNAPSHOT until you do a "release". If you have an artifact with a version of 1.2.3-SNAPSHOT you know that there will be dozens of other builds with the same version number because the snapshot suffix indicates that this number "1.2.3" has not been fixed yet. That is, it is semantically equivalent to your current notion of (or suffix) "trunk". If you do a release, you strip the -SNAPSHOT from the version number (or rather jump to the intended fixed version number), commit, tag, publish that version, then bump the version number and append -SNAPSHOT again. The fixed version labelled "1.2.3" is not expected to ever change again, so if you download one of these artifacts, you can be quite sure it is identical to other "1.2.3"s of that artifact you download later. I consider this a sufficient scheme in many cases. However, it does not map to an alpha-beta-rc process, unless you put that into the less significant parts of the version number (which makes comparing versions harder for machines).
Jakob Reschke wrote
2016-06-27 10:12 GMT+02:00 Taeumel, Marcel <
Marcel.Taeumel@
>:
Would it make sense to keep track of the release build number and show the current increment in a separate way? Releases are basically branches from Trunk. E.g.:
source.squeak.org/trunk source.squeak.org/squeak50
At release time, the code base is identical. Then, things might get cherry-picked from trunk into the release branch (here "squeak50"). Then, the summative build number would be confusing because "14023" in squeak50 is not the same as it is in trunk.
What about doing it like GitHub branches and show "number of commits your are behind the main branch"? It could displayed like this:
"Squeak 5.0 (Build 14000 +23/-324)"
This means that the current image is a release image, created from trunk build 14000. There were 23 fixes in this branch since then and current Trunk is already 324 builds ahead.
What do you think?
That looks very cryptic to me. IMHO, if you need to see your build's detailed relation to the initial release or the current trunk, you should ask the SCM system (Monticello) itself. If I were a newcomer, these +/- numbers would confuse me when I want to download a specific image version from the website. I would not expect someone to read a manual to understand the version numbering.
For reference, in the Maven/Java world, artifacts get a version suffixed with -SNAPSHOT until you do a "release". If you have an artifact with a version of 1.2.3-SNAPSHOT you know that there will be dozens of other builds with the same version number because the snapshot suffix indicates that this number "1.2.3" has not been fixed yet. That is, it is semantically equivalent to your current notion of (or suffix) "trunk". If you do a release, you strip the -SNAPSHOT from the version number (or rather jump to the intended fixed version number), commit, tag, publish that version, then bump the version number and append -SNAPSHOT again. The fixed version labelled "1.2.3" is not expected to ever change again, so if you download one of these artifacts, you can be quite sure it is identical to other "1.2.3"s of that artifact you download later. I consider this a sufficient scheme in many cases. However, it does not map to an alpha-beta-rc process, unless you put that into the less significant parts of the version number (which makes comparing versions harder for machines).
Hi Jakob,
you're right. This information would have to appear in the file name of the downloads on the website. Hmm... right now, our build number is the sum of all MCZ versions in the trunk update stream. The goal here is to find a simple solution for that branching thing. Maybe the combination of release number and build number is enough to discriminate.
I do not quite get your example about Maven/Java. I think that you relate to the ideas of suffixing the Trunk versions with alpha, beta, rc1, ..., rcn, alpha, ... However, my previous comment addresses the naming of release versions only and the role of the respective build number. :-)
I think that an alternative to summing up the MCZ versions could be to only show the most recent commit date/time of the packages in the update map.
Best, Marcel
-- View this message in context: http://forum.world.st/Renaming-Squeak-s-system-version-from-Squeak-alpha-to-... Sent from the Squeak - Dev mailing list archive at Nabble.com.
squeak-dev@lists.squeakfoundation.org