Daan, thank you for the summary. See my answers below.
On 8/6/14, 1:59 PM, "Daan Hoogland" <daan.hoogl...@gmail.com> wrote: >Alena, > >I think this is a matter of semantics. If you call the latest version >that got through the CI a pre-release and add them as releases in the >git-flow way of working on master you've got what you envision. Yes. > >In spite of my mail this morning I am not a warrior (though I like the >compliment, Rohit) of gitflow but I feel that it fits whatever we need >so far. My main point of objection was the way they maintain the master branch - to reflect the latest release, which doesn’t suit the CS maintenance releases model. Plus we can’t remove the release branches like the original model does. >I have read no contradiction to that so far. The only real >change to our present way of working , given that we will use support >branches, is that we don't build releases on the basis of cherry-picks >anymore, which is not a very big change. Other then that, naming is >all that is left. Yes, merges instead of cherry-picks and introducing a staging (*develop, or *pre-release) branch - that was all missing in the CS before, and we have to implement it. > >Maybe I lost view on the obstacles and objections and am being short >sighted here, please advice, >Daan > >On Wed, Aug 6, 2014 at 9:59 PM, Alena Prokharchyk ><alena.prokharc...@citrix.com> wrote: >> >> >> On 8/6/14, 12:52 PM, "Erik Weber" <terbol...@gmail.com> wrote: >> >>>On Wed, Aug 6, 2014 at 9:21 PM, Alena Prokharchyk < >>>alena.prokharc...@citrix.com> wrote: >>> >>>> Agree with you, Rohit. The changes to the git model we use, are needed >>>> indeed. But we should address only the problems that CS faces, and the >>>> main problem - quality control. The proposal should be limited just to >>>>the >>>> changes that are really needed for the CS, and that will work with the >>>> current CS model (minor maintenance releases support is a part of it) >>>> >>>> >>> >>>Theoretically you don't really have to change anything other than >>>merging >>>instead of cherry picking. >>>That is the main issue from a release perspective. >>> >>>But I still think there are good reasons to do so; >>> >>>1) using a well known way of handling code/releases instantly tells new >>>contributors / committers how we work. add to the fact that there exists >>>tools to help doing this correctly is a bonus. >>>2) having a known stable (atleast in theory) release as master is good >>>practice. although not many users will be running from git, i still >>>consider it to be good practice. >>>3) there is a huge belief in this thread/discussion that as long as >>>something passes CI / BVT it is considered stable. The fact is that it >>>is >>>not. Take the recent 4.4 release as a good example, where a new install >>>was >>>not working at all at the point of release. Now, this is more a CI / >>>test >>>coverage issue than git workflow issue, but i find it weird to use as an >>>argument for not improving the workflow. >>> >>>-- >>>Erik >> >> I¹m not arguing against keeping master release stable; I advocate for >>it. >> But we can¹t adopt git workflow way of keeping master branch to be a >> reflection of the latest release branch. It will not work with our way >>of >> handling maintenance releases for multiple versions of CS - see another >> thread. >> >> Instead, master branch should reflect the latest code that passed the CI >> test (the code merged from *develop after CI passes). The release >>branches >> should be cut from stable master branch - it will ensure that we won¹t >> face last minute blockers as for 4.4, because master IS a stable branch. >> And yes, we should do merges instead of cherry picking. >> >> >> >>> >> > > > >-- >Daan