Hi York,
When any party interested in the source downloads the source or tries to do any modification, by default it's likely to use the master branch. So it's better if the code on the master branch is tested to be as robust as that included in the releases is. The code under development, on the other hand, is mostly in unknown robustness state between the subsequent releases. Sure the unit tests pass and a few specific code flows pass as per the latest feature/bug-fix checked into it but that's not and indication that the code is ready to be consumed by (released to) a large userbase. In the past when we used master as the development branch - we got emails from a few confused users who followed the documentation of the released software and used the code from the master just to tell us that the product did not work as documented. So we decided to freeze the (default) master branch at the highest release of the code just the way we freeze the documentation on our website to the highest released one. This takes care of the users, but leaves the committers and contributors open to confusion as you experienced. Here the hope is that since contributors and committers are engaged in the code development process at a level far superior to someone who is just interested in downloading the code, they will learn the very first time they try to contribute something that they are supposed to do it against the appropriate versioned branch, follow the semantic versioning, send the bug-fix for appropriate release, follow the coding convention, make sure to get the code reviewed, ensure that the build is not destabilized too much etc. TLDR; The master branch is frozen to the highest release so that users can download and start using it as per the documentation. The development on the other hand happens on a non-default branch so only developers deal with the issues associated with the development code. HTH. -- Chetan PS: I also had done presentation internally and recorded; I will check if it can be released publicly. On Mon, Sep 21, 2015 at 8:37 AM, York, Brennon <[email protected]> wrote: > All, as I was working on APEX-131 (integrate Travis CI) Thomas recommended > I push to the `devel-3` branch rather than master (which I did). My only > question, and wanted to raise it here for everyone, is what is the intended > workflow going to be for contributors moving forward when submitting PR’s? > Will pushing to the `devel-3` branch be standard? > > I only ask because, as the community grows, I have a feeling that its > going to create a lot of confusion and headache for new contributors to > remember to target the `devel-3` branch rather than `master`. I’m assuming > the `devel-3` branch is for all 3.x development and we’re back porting > issues into `master` as necessary with large merges from `devel-3` into > `master` at each RC (again, assuming). Like I said, just wondering for my > own edification as this is a workflow I’m not too familiar with. Can > someone explain what I’m missing? This also will help me with APEX-137 > (dedicated page to apex site on how to contribute). Thanks! > ________________________________________________________ > > The information contained in this e-mail is confidential and/or > proprietary to Capital One and/or its affiliates and may only be used > solely in performance of work or services for Capital One. The information > transmitted herewith is intended only for use by the individual or entity > to which it is addressed. If the reader of this message is not the intended > recipient, you are hereby notified that any review, retransmission, > dissemination, distribution, copying or other use of, or taking of any > action in reliance upon this information is strictly prohibited. If you > have received this communication in error, please contact the sender and > delete the material from your computer. > ________________________________________________________ > > The information contained in this e-mail is confidential and/or > proprietary to Capital One and/or its affiliates and may only be used > solely in performance of work or services for Capital One. The information > transmitted herewith is intended only for use by the individual or entity > to which it is addressed. If the reader of this message is not the intended > recipient, you are hereby notified that any review, retransmission, > dissemination, distribution, copying or other use of, or taking of any > action in reliance upon this information is strictly prohibited. If you > have received this communication in error, please contact the sender and > delete the material from your computer. >
