Return-Path: X-Original-To: apmail-cloudstack-dev-archive@www.apache.org Delivered-To: apmail-cloudstack-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 7995F171E8 for ; Thu, 16 Oct 2014 10:02:32 +0000 (UTC) Received: (qmail 38536 invoked by uid 500); 16 Oct 2014 10:02:32 -0000 Delivered-To: apmail-cloudstack-dev-archive@cloudstack.apache.org Received: (qmail 38483 invoked by uid 500); 16 Oct 2014 10:02:31 -0000 Mailing-List: contact dev-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cloudstack.apache.org Delivered-To: mailing list dev@cloudstack.apache.org Received: (qmail 38470 invoked by uid 99); 16 Oct 2014 10:02:31 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Oct 2014 10:02:31 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of runseb@gmail.com designates 209.85.212.173 as permitted sender) Received: from [209.85.212.173] (HELO mail-wi0-f173.google.com) (209.85.212.173) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Oct 2014 10:02:03 +0000 Received: by mail-wi0-f173.google.com with SMTP id fb4so1002684wid.12 for ; Thu, 16 Oct 2014 03:02:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date :content-transfer-encoding:message-id:references:to; bh=RGZ9Bb6YPE2E4cOgockpeMtEGvxQpvdtQ4i1tCPU5Zo=; b=l3dyIID+ubCbPn5WO1fO/9z2aQZ0TEARw8DvpjBdNFe7fd7/7gu0IXCPcBzmMpEwGZ QgqI7KAfVzQlgomYbx0FUkOwwmOQDhyhvIOZSd/uGQFxUcPFLRslQPh+IO0sswx0YYHU N7D01KUSQLZQ6StNnnDlYtByshSWOwehR0H0f+T14ZAQl5DZmgvi0TYX89bRZgq9cvV8 DRlplrMyeEcHqb4rX/Zfj78rT+3PAwbDADYshvNVmMQ/V0+FKY4W7vPn3Bwz/4Z3JiWJ xF/xf88SdMH/N5w4hopOSLc1v4K8+Vz57S+5Um+bCU8DlWo4iJIWLNU77nqKgYdaxre9 sgUg== X-Received: by 10.180.104.199 with SMTP id gg7mr4486602wib.41.1413453722833; Thu, 16 Oct 2014 03:02:02 -0700 (PDT) Received: from [10.0.0.6] (131-177.199-178.cust.bluewin.ch. [178.199.177.131]) by mx.google.com with ESMTPSA id u7sm1404184wif.7.2014.10.16.03.02.01 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 16 Oct 2014 03:02:02 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\)) Subject: Re: merging versus cherry-picking From: sebgoa In-Reply-To: Date: Thu, 16 Oct 2014 12:02:01 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: <5ADD6986-DB3C-4894-82D9-BC42A81AFCBA@gmail.com> References: To: dev@cloudstack.apache.org X-Mailer: Apple Mail (2.1510) X-Virus-Checked: Checked by ClamAV on apache.org On Oct 16, 2014, at 11:34 AM, Daan Hoogland = wrote: > H, >=20 > I noticed a lot of commits on master and 4.5 without any links between > them. These could have all been committed on 4.5 and merged back into > master leaving a trail of prove that the same code is in both = branches. >=20 > It hurts to see this happen. we are at a brink where we can improve on = our > way of working. Let's do so. I will do a test merge-back of 4.5 to = master > to see how big the damage is=E2=80=8B. >=20 > --=20 > Daan Daan I am +1000 with you on this, we need to come together as a = community and change these practices. I would like to make one clear proposal to move us forward (outside of = this thread if I see that a few folks agree). Proposal: ---- All commits come through github PR, *even* for committers. We declare a = moratorium period (agreed suspension of activity) during which direct = commit to master is forbidden. Only the master RM is allowed to merge PR in master (we define a master = RM). If direct commit to master is done, master RM reverts without = warning. Same for 4.5 and 4.4. branches. ---- This is drastic and I am sure some folks will not like it, but here is = my justification for such a measure: Our commit and release processes have so far been based on the idea that = development happens on master and that a release branch is cut from = master (unstable development branch). Then a different set of community = members harden the release branch, QA and bring it to GA level. During = that time development keeps on going in master. This is an OK process if we have the luxury of having a QA team and can = cope with split personality of being developers and release managers.=20 My point of view is that as a community we cannot afford such a split = brain organization and our experience overt the last year proves my = point (delayed release date, broken builds, features merged without = warning=E2=80=A6) We can avoid this by cutting a release branch from a stable one (from = the start), then as you (Daan) have mentioned several times, fix bugs in = the release branch and merge them back in the stable source of the = release (be it master).=20 Feature development need to be done outside master, period. Not only for = non-committers but also for committers. And merge request need to be = called. This will help review and avoid surprises. New git workflow were proposed and shutdown, mostly calling for better = CI to solve quality issues. CI will not solve our quality issues alone. = We need to better police ourselves. To avoid long discussions, I propose this simple but drastic measure. We = move all our commits to github PR until 4.5 is out, this stands for = committers and non-committers, direct commits (especially to master) = would be reverted immediately. -sebastien