On 09/01/2011 05:06 PM, Chris Lalancette wrote:
On 09/01/11 - 11:02:35AM, Chris Alfonso wrote:
> Feature branches have been very useful for other projects I've
> been working on. Rather than having one bleeding edge branch to take
> all the latest and greatest features, feature branches provide a
> couple benefits over one "next" branch. For instance, if there are
> multiple commiters that need to collaborate on a feature that isn't
> ready to introduce to the larger audience, or if the patch set is
> under development for a longer period of time git allows you to do
> continual rebasing, and patch sets that are related can be set aside
> if needed then come back to them later, without having to rebase
> interactive and put everything back together in order.
Don't get me wrong, I'm not arguing against feature branches. I think they
are super useful and we should be using them all of the time. The part that
I am not convinced about is "master is always deployable". We tried that,
and it didn't work. The problem is that people who want stability grab the
packages from the last stable release. The people who want to develop grab
the latest development head from git. There is no audience for this in-between
"always deployable" branch.
I think the difference here comes from GitHub having a single deployment
of their tool.
In the context of our project I don't view "master is always deployable"
in terms of it being super stable and suitable for production.
It's more about the expectation that what you check out from master will
always have tests passing, you're able to run it and get most or all of
the intended functionality.
Which we're mostly doing already. Even when we introduced big and
potentially breaking changes (UI rework, switch to Rails 3 or now the
Condor thing), we tried to get it to a decent shape elsewhere before
merging it into master. So we don't break all the devs.
We just need to be a bit more diligent in keeping that expectation.
Thomas
--
No trees were killed to send this message, but a large number of
electrons were terribly inconvenienced.