<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Jul 13, 2009, at 12:52 PM, Peter Kasting wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div class="gmail_quote">On Mon, Jul 13, 2009 at 10:47 AM, David Hyatt <span dir="ltr"><<a href="mailto:hyatt@apple.com">hyatt@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto; "> <div style="word-wrap:break-word">I agree. We should formalize this as policy too in my opinion. Maybe something time-based, e.g., if you have an implementation of a new Web technology that is going to take > (1month?) to implement, then the feature should be landed inside ENABLE ifdefs (that can then be removed when the feature is sufficiently far along).</div> </blockquote><div><br></div><div>For Chromium this kind of time frame can be problematic, since there's pretty much no guarantee of when a WebKit trunk build could be shipped as (eventually) a stable Chromium/Google Chrome release. Even having an incomplete feature in the tree a few days can result in the incomplete feature getting shipped to web authors.</div> <div><br></div></div></blockquote><div><br></div></div><div>The way to ship "ToT" (in my opinion) is to cut a branch, watch ToT for any regressions from recent work, merge those fixes into the branch, and then turn off anything that is "in-progress" on the branch. Expecting ToT to actually be shippable all the time is not very practical. Realistically people will always be causing occasional regressions from bug fixes and feature work. Branches are the way to stabilize from some known point.</div><div><br></div><div>dave</div><div>(<a href="mailto:hyatt@apple.com">hyatt@apple.com</a>)</div><div><br></div></body></html>