Return-Path: X-Original-To: apmail-hadoop-common-dev-archive@www.apache.org Delivered-To: apmail-hadoop-common-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 98D7218796 for ; Mon, 17 Aug 2015 18:34:59 +0000 (UTC) Received: (qmail 1437 invoked by uid 500); 17 Aug 2015 18:33:59 -0000 Delivered-To: apmail-hadoop-common-dev-archive@hadoop.apache.org Received: (qmail 1362 invoked by uid 500); 17 Aug 2015 18:33:59 -0000 Mailing-List: contact common-dev-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: common-dev@hadoop.apache.org Delivered-To: mailing list common-dev@hadoop.apache.org Received: (qmail 1350 invoked by uid 99); 17 Aug 2015 18:33:59 -0000 Received: from Unknown (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 17 Aug 2015 18:33:59 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id D5CFB1AA38C for ; Mon, 17 Aug 2015 18:33:58 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 3 X-Spam-Level: *** X-Spam-Status: No, score=3 tagged_above=-999 required=6.31 tests=[HTML_MESSAGE=3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Received: from mx1-eu-west.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id Sdo_heiuyyCc for ; Mon, 17 Aug 2015 18:33:53 +0000 (UTC) Received: from mail-yk0-f174.google.com (mail-yk0-f174.google.com [209.85.160.174]) by mx1-eu-west.apache.org (ASF Mail Server at mx1-eu-west.apache.org) with ESMTPS id E3A02207D6 for ; Mon, 17 Aug 2015 18:33:52 +0000 (UTC) Received: by ykfw73 with SMTP id w73so81574037ykf.3 for ; Mon, 17 Aug 2015 11:33:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-type; bh=brvDQojajTpwI7KQCiN0JQ+CLODVNt2tZkHoDMNlXiM=; b=KwF56VizHgu+L9q9ZDJfl2XYAEIwTQTs0UitMYXDWRf66fEioROM5Hy+FhEJmt1aBw 0pZGno5GweSA7Fsr1UWTZ3u1o0nsSheGymzHAyOyfVnsjY6ggYFCv0cBXE44jNgZ0WVT J4eAqUi3uWtlJawIHSAfJsTOZ8WejwK8s/3cU24ae9yB7MqyHnoAFKBq3m63fzoiYbR9 hCNvcJYGdqzyatBNzpr9vmsn5eirkLqc/d/qEmxk4cg7JFDDNU1XV1QZfUaiBruy+BLz Q6nVgDjorBaxNQOhIg3fAR1M6x9nCy1YwF3Xu4UkYSMjfC94i2j5Gnn8O5E8fDFB0bvv WBfQ== X-Gm-Message-State: ALoCoQlLZYy7jeMStWuhQIK/kBI5yTP67Y8lnBGQoafL3xJ9h9pmKIxB/bopphbLVEg5TNdyKdi9 X-Received: by 10.13.217.148 with SMTP id b142mr2751464ywe.116.1439836425773; Mon, 17 Aug 2015 11:33:45 -0700 (PDT) MIME-Version: 1.0 Received: by 10.13.252.133 with HTTP; Mon, 17 Aug 2015 11:33:26 -0700 (PDT) In-Reply-To: References: From: Andrew Wang Date: Mon, 17 Aug 2015 11:33:26 -0700 Message-ID: Subject: Re: [DISCUSS] git rebase vs. git merge for branch development To: "common-dev@hadoop.apache.org" Content-Type: multipart/alternative; boundary=001a114fcc5ab19a3f051d860afa --001a114fcc5ab19a3f051d860afa Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable @Sangjin, I believe this is covered by the [VOTE] I linked to above, key excerpt being: 3. Force-push on feature-branches is allowed. Before pulling in a feature, the feature-branch should be rebased on latest trunk and the changes applied to trunk through "git rebase --onto" or "git cherry-pick ". This specifies that the last uprev final integration of the branch into trunk happen with rebase. It doesn't say anything about the periodic uprev's, but it'd be very strange to merge periodically and then rebase once at the end. So I take it to mean doing periodic uprevs with rebase too. On Mon, Aug 17, 2015 at 11:23 AM, Sangjin Lee wrote: > Just to be clear, are we discussing the process of uprev'ing the feature > development branch with the latest from the trunk from time to time, or > making the final merge of the feature branch onto the trunk? > > On Mon, Aug 17, 2015 at 10:21 AM, Steve Loughran > wrote: > > > I haven't done a bit piece of work in the ASF code repo since the > > migration to git; though I have done it in the svn era. > > > > > > Currently with private git repos > > -anyone gets SCM control of their source > > -you can commit for your own reasons (about to make a change, want a > > private jenkins run, ...) and gain from having many small checkins. Mor= e > > succinctly: if you aren't checking in your work 2+ times a day =E2=80= =94why not? > > -rebasing a painful necessity on personal, private branches to keep the > > final patch to hadoop git a single diff > > > > With the private git process that's the defacto standard, we lose histo= ry > > anyway. I know what I've done and somewhere there's a tag in my own > github > > repo of my work to create a JIRA. But we don't always need that entire > > history of "trying to debug kerberos", "typo in exception", and other > stuff > > that accrues during the work. > > > > I think therefore that I'm in favour of big squash commits. What we cou= ld > > do is extend that with a policy of > > > > > > 1. tag the final commit used to make the patch, something like > > tag_HADOOP-8192. The tag ensures that the history isn't gc'd > > 2. Delete the branch (keeps the #of branches down) > > 3. In the JIRA, include the name of the tag and the git commit numbe= r > > in the comments. Someone curious can rebuild that history > > > > > --001a114fcc5ab19a3f051d860afa--