I had a bit of a think about this. I think we should strive to keep the tip in a working state at all times. We'll screw up sometimes and break compilation or usage, and in those cases I agree it should be announced to the list and we should enter some kind of "code yellow" where we restrict further code changes until everything's working again.
I don't think the stable tag mechanism will help, though. The stable tag has the same requirements we should demand of tip. Having a stable tag implies that it's ok for tip to be less stable, and I fear that will have the exact opposite effect to what we want. The testing that a developer should do before updating the stable tag is the same as they should be doing before pushing a significant change anyway. Updating the tag will simply involve more work. If committers were to habitually update the tag when pushing because they've run tests, etc, then it would be providing no benefit. Having said that, tip doesn't need to be in a state where all features are fully working. It's ok for code to be built incrementally. While there should be no regressions, partial features are ok. To ensure people who want to deploy WIAB can use a coherent version we should probably adopt the common convention of tagging "releases". But we can discuss that later. Alex On 26 November 2010 01:30, David Wang <[email protected]> wrote: > Hi Folks, > > During the creation of the Apache proposal, it became evident that having a > good build at all times is not only for your own work, but also good for > publicity. See > https://wave.google.com/wave/waveref/googlewave.com/w+nv8cf8_TD/~/conv+root/b+9TP_aQqcA > > > I'd like to make the following proposal in sites page ( > https://sites.google.com/a/waveprotocol.org/wave-protocol/code/working-with-a-stable-build) > and copied in this email. Please comment. This proposal relies on the > responsibility of all the committers to honour this. > > > Working with a stable build (Proposal) > > *The exact details of this proposal may change when the project is > moved into Apache.* > This is an active open source project with contributors from all parts > of the world working in many different time zones. Unavoidably at rare > occurrences, the tip of the code may not be in perfect condition. This can > be frustrating for everyone. The purpose of this proposal is to create a > good etiquette/rule for the community on how to react when his happens and > in turn keeping the code healthy. > > Code Yellow (Tip Broken)This happens when one of the following occurs > to the tip of the code base. All committers should not allowing the commit > of any additional code, unless absolutely necessary, and work to take > ourselves out of code yellow. > > - Wave In a Box does not start > - Wave In a Box crashes on first use > - Wave In a Box does not compiling > > How to communicate code yellow Anyone can send a message to the wave > protocol mailing list ([email protected]) stating that the > tip is broken, preferable with notes of the state, and requesting everyone > not to check in any code until we are out of code yellow. > > Hopefully this will start a live discussion and a fix will be forth > comming very soon. > > How do I keep working even when the tip is broken? There will be a tag > named "stable" that is placed on the code base. Code at this tag will be > OK, > i.e. not broken. But please, don't check in the code if the tip is broken > (code yellow). > > hg pull -r stable > hg update stable --clean > > Anyone can update this tag provided you've done some basic testing to > make sure that we won't be in code yellow at the time of the tagging. You > can set the label with > > hg tag stable -f > > > hg push > > Kind Regards > > -- > David Wang > > -- > You received this message because you are subscribed to the Google Groups > "Wave Protocol" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<wave-protocol%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/wave-protocol?hl=en. > -- You received this message because you are subscribed to the Google Groups "Wave Protocol" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/wave-protocol?hl=en.
