[yast-devel] [RFC] Versioning: master vs SLE-12-GA branches
Hi, At the beginning of August, Josef has created new SLE-12-GA maintenance branch for all Yast repositories at GitHub. At these days, we are still asked to fix $this or $that and push tose change into SLE 12 G*. According to a mutual decision, we develop all fixes in SLE-12-GA branch and merge them into master regularly. From this point of view, both SLE-12 and master branches contain the same code. But they will most likely differ some day: we'll start adding new features and maybe some openSUSE-specific fixes into master only. OK, finally to the point... We will need different versioning in SLE-12-GA than in master. In master, we currently use `3.1.$X`. Some day, we should start using 3.1.X.$Y in SLE-12-GA. When should we switch from 3.1.$X to 3.1.X.$Y? There are two possibilities: * immediately, even if we still do the very same changes in both branches - we would need to change the version when merging to master * when they start to differ - we need to keep this in mind all the time and we might forget because it's hard to think in advance: does master have already something else that will not be in the SLE-12-GA branch? Does it already differ? So, what do you think is better and why? Thanks in advance Lukas -- Lukas Ocilka, Systems Management (Yast) Team Leader Cloud & Systems Management Department, SUSE Linux -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
On Wed, Oct 15, 2014 at 04:53:25PM +0200, Lukas Ocilka wrote:
When should we switch from 3.1.$X to 3.1.X.$Y? There are two possibilities:
* immediately, even if we still do the very same changes in both branches - we would need to change the version when merging to master
* when they start to differ - we need to keep this in mind all the time and we might forget because it's hard to think in advance: does master have already something else that will not be in the SLE-12-GA branch? Does it already differ?
Same version IFF same code. Therefore only diverge the versions when the code differs. -- Martin Vidner, Cloud & Systems Management Team http://en.opensuse.org/User:Mvidner Kuracke oddeleni v restauraci je jako fekalni oddeleni v bazenu
On 15.10.2014 17:32, Martin Vidner wrote:
On Wed, Oct 15, 2014 at 04:53:25PM +0200, Lukas Ocilka wrote:
When should we switch from 3.1.$X to 3.1.X.$Y? There are two possibilities:
* immediately, even if we still do the very same changes in both branches - we would need to change the version when merging to master
* when they start to differ - we need to keep this in mind all the time and we might forget because it's hard to think in advance: does master have already something else that will not be in the SLE-12-GA branch? Does it already differ?
Same version IFF same code. Therefore only diverge the versions when the code differs.
But this is a bit tricky when you have to push some NEW code to master and then ... then what? Mark SLE-12-GA branch as "Please, use 3.1.X.$Y scheme next time you do some changes here"? Or just directly increase the SLE-12 version using that scheme? In fact, this (IFF, diverge when different) would be logically my choice as well, but you should expect that you might not be the next one who adds some changes to SLE-12-GA branch and will not remember to use the "maintenance" versioning style. The workflow is definitely error-prone. Any better idea? Lukas -- Lukas Ocilka, Systems Management (Yast) Team Leader Cloud & Systems Management Department, SUSE Linux -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
On Wed, 15 Oct 2014 18:13:03 +0200
Lukas Ocilka
On 15.10.2014 17:32, Martin Vidner wrote:
On Wed, Oct 15, 2014 at 04:53:25PM +0200, Lukas Ocilka wrote:
When should we switch from 3.1.$X to 3.1.X.$Y? There are two possibilities:
* immediately, even if we still do the very same changes in both branches - we would need to change the version when merging to master
* when they start to differ - we need to keep this in mind all the time and we might forget because it's hard to think in advance: does master have already something else that will not be in the SLE-12-GA branch? Does it already differ?
Same version IFF same code. Therefore only diverge the versions when the code differs.
But this is a bit tricky when you have to push some NEW code to master and then ... then what? Mark SLE-12-GA branch as "Please, use 3.1.X.$Y scheme next time you do some changes here"? Or just directly increase the SLE-12 version using that scheme?
In fact, this (IFF, diverge when different) would be logically my choice as well, but you should expect that you might not be the next one who adds some changes to SLE-12-GA branch and will not remember to use the "maintenance" versioning style. The workflow is definitely error-prone.
Any better idea? Lukas
I am using it now, as there is already some non SLE-12 fixes in bootloader that goes only to opensuse and SP1. Also some cleaning is not for SLE-12-GA. I think that check if versions are same are quite easy, just use reverse command then in checking if maintenance is merged to master. So simple git pull git log origin/SLE-12-GA..origin/master # if nothing appear, then all merged Josef -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
Dne 15.10.2014 v 16:53 Lukas Ocilka napsal(a): [...]
When should we switch from 3.1.$X to 3.1.X.$Y? There are two possibilities:
* immediately, even if we still do the very same changes in both branches - we would need to change the version when merging to master
That would need extra work (changing the version when merging the branches) without any benefit (or did I overlook something?).
* when they start to differ - we need to keep this in mind all the time and we might forget because it's hard to think in advance: does master have already something else that will not be in the SLE-12-GA branch? Does it already differ?
So, what do you think is better and why?
I'd prefer to keep the 3.1.X schema as long as possible (i.e. until there is a `master` only bug fix or a feature). -- Best Regards Ladislav Slezák Yast Developer ------------------------------------------------------------------------ SUSE LINUX, s.r.o. e-mail: lslezak@suse.cz Lihovarská 1060/12 tel: +420 284 028 960 190 00 Prague 9 fax: +420 284 028 951 Czech Republic http://www.suse.cz/ -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
On 16.10.2014 20:57, Ladislav Slezak wrote:
* when they start to differ - we need to keep this in mind all the time and we might forget because it's hard to think in advance: does master have already something else that will not be in the SLE-12-GA branch? Does it already differ?
So, what do you think is better and why?
I'd prefer to keep the 3.1.X schema as long as possible (i.e. until there is a `master` only bug fix or a feature).
I'd also prefer keeping 3.1.X in both branches as long as possible, but as I said, mistakes will happen and one day we will have the same "versions" but different content of RPMs. One possibility would be to switch master from 3.1.X to 3.2.X immediately when there is a change that should not got to SLE-12. Then we could be pretty sure that versions will not conflict AND anyone else will understand well that such change is already there and thus versions have to differ. Lukas -- Lukas Ocilka, Systems Management (Yast) Team Leader Cloud & Systems Management Department, SUSE Linux -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
Dne 17.10.2014 v 08:28 Lukas Ocilka napsal(a):
One possibility would be to switch master from 3.1.X to 3.2.X immediately when there is a change that should not got to SLE-12.
Um, the disadvantage is that would little bit break the openSUSE 13.2 versioning. We had 3.0.X in 13.1, in 13.2 we would then have mixed versions 3.1.X and 3.2.X... -- Ladislav Slezák Appliance department / YaST Developer Lihovarská 1060/12 190 00 Prague 9 / Czech Republic tel: +420 284 028 960 lslezak@suse.com SUSE -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org
participants (4)
-
Josef Reidinger
-
Ladislav Slezak
-
Lukas Ocilka
-
Martin Vidner