Return-Path: X-Original-To: apmail-flink-dev-archive@www.apache.org Delivered-To: apmail-flink-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 351C6179F0 for ; Wed, 28 Jan 2015 09:15:45 +0000 (UTC) Received: (qmail 87056 invoked by uid 500); 28 Jan 2015 09:15:45 -0000 Delivered-To: apmail-flink-dev-archive@flink.apache.org Received: (qmail 87001 invoked by uid 500); 28 Jan 2015 09:15:45 -0000 Mailing-List: contact dev-help@flink.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@flink.apache.org Delivered-To: mailing list dev@flink.apache.org Received: (qmail 86990 invoked by uid 99); 28 Jan 2015 09:15:43 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 28 Jan 2015 09:15:43 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW X-Spam-Check-By: apache.org Received-SPF: error (athena.apache.org: local policy) Received: from [209.85.215.43] (HELO mail-la0-f43.google.com) (209.85.215.43) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 28 Jan 2015 09:15:38 +0000 Received: by mail-la0-f43.google.com with SMTP id q1so17902832lam.2 for ; Wed, 28 Jan 2015 01:14:56 -0800 (PST) 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:content-transfer-encoding; bh=xnXaGVpqjPengMiInKtsTJvjkCQk3Ow6TYWuxIelY5Y=; b=WCH/Vqsb2t9Hg8eYstYiATRxnyOjMV8EfWJmbCNRQIjJvdxSjIyhGcwJ7NRZNeIOYq LJdCIGPXNynlyzI5FmED95nOomRfZI1ysU7edGWBp2dzNb29gRZsLvBPE6oy78yExdmf hH0IGHARrUoQhQ8ezWDIooo8bphIFt2XkHlCEUH60ZLTqLBUif046/S/ATpavUpP27K6 xex3v4QDKtY+71FiG0qAYPRAvm0wAMOqs2pn+HqnhssxtDfybF+IkbTyFNdp63kQ+FFk CCx72ofh97UJPJJnCFLVGaUp1O8iISEWkPqqn4UdV+tOfC7LVokuxOBXkw8I7PqfX1t0 RoSA== X-Gm-Message-State: ALoCoQk11r5AAdSqpQppjNFtOQba1gZEaC0CVTGJ97naEL8zpOjf2bu5Tsx3WCUNHFpBKCM2yAxa X-Received: by 10.112.156.132 with SMTP id we4mr6500647lbb.59.1422436495913; Wed, 28 Jan 2015 01:14:55 -0800 (PST) MIME-Version: 1.0 Received: by 10.25.217.75 with HTTP; Wed, 28 Jan 2015 01:14:35 -0800 (PST) In-Reply-To: References: From: Max Michels Date: Wed, 28 Jan 2015 10:14:35 +0100 Message-ID: Subject: Re: Question about Commit Policy To: dev@flink.apache.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org Let me clarify my suggestion: Let's put mandatory tags in the second line of the commit message. That way, they can be filtered using git log --grep=3DTAG and do not take away the first line's 80 characters. On Wed, Jan 28, 2015 at 3:37 AM, Henry Saputra wr= ote: > Just found out about this, thanks Stephan =3D) > > - Henry > > On Wed, Jan 7, 2015 at 7:44 AM, Stephan Ewen wrote: >> Hi all! >> >> Since the feedback was positive, I added the guidelines to the wiki, wit= h a >> disclaimer that this is being refined. >> >> https://cwiki.apache.org/confluence/display/FLINK/Apache+Flink+developme= nt+guidelines >> >> Stephan >> >> >> On Wed, Jan 7, 2015 at 4:13 PM, Kostas Tzoumas wro= te: >> >>> +1 >>> >>> Let's encourage the use of component tags, I don't see the need for >>> enforcing it. For commits that affect one component, I expect people wi= ll >>> use it. >>> >>> On Wed, Jan 7, 2015 at 3:40 PM, Fabian Hueske wrot= e: >>> >>> > +1 for the guide and JIRA references. >>> > >>> > I'd keep the component tags optional though. >>> > As Max said, there is less space to display a meaning message if a co= mmit >>> > addresses several components. Separating changes into commits by >>> components >>> > sounds not very practical to me. >>> > Also without a clear definition of when to add which component tag, w= e >>> > cannot rely on them anyway. >>> > >>> > Git should also have better tools than browsing commit messages when >>> > looking for a commit that changed specific code. >>> > >>> > 2015-01-07 15:24 GMT+01:00 Stephan Ewen : >>> > >>> > > I personally like the tags very much. I think the streaming compone= nt >>> was >>> > > the first to introduce it and it stuck me as a very good idea. >>> > > >>> > > +1 to stick with them >>> > > >>> > > On Wed, Jan 7, 2015 at 3:03 PM, M=C3=A1rton Balassi < >>> balassi.marton@gmail.com >>> > > >>> > > wrote: >>> > > >>> > > > I prefer component declarations, the current best practice comes = in >>> > handy >>> > > > when searching through commits. Answering a "when did key selecti= on >>> > > change >>> > > > for streaming?" type question I just had to answer would have bee= n a >>> > bit >>> > > > more difficult without it - manageable though. >>> > > > >>> > > > In case of streaming it does not yield much to omit the component >>> > > > declaration, most of the time then we would need to add it to the >>> > commit >>> > > > message itself, e.g. : >>> > > > "[streaming] Join API rework", could be e.g. rewritten as "Join A= PI >>> > > rework >>> > > > for streaming". I do prefer the former one, because it is not onl= y >>> more >>> > > > straight-forward to understand, but a bit shorter as well. >>> > > > Of course there are counter-examples, like "[streaming] DataStrea= m >>> > > > refactor" -> "DataStream refactor". >>> > > > >>> > > > I can accept optional, but would like to keep it strongly recomme= nded >>> > for >>> > > > streaming. I also find the [docs] tag helpful. >>> > > > >>> > > > On Wed, Jan 7, 2015 at 2:43 PM, Stephan Ewen >>> wrote: >>> > > > >>> > > > > Should we put that to an official vote, or wait for people to >>> comment >>> > > and >>> > > > > (if nobody objects) consider it as agreed on through lazy >>> consensus? >>> > > > > >>> > > > > On Wed, Jan 7, 2015 at 2:34 PM, M=C3=A1rton Balassi < >>> > > balassi.marton@gmail.com >>> > > > > >>> > > > > wrote: >>> > > > > >>> > > > > > +1 for the guide, thanks for clarifying the issue >>> > > > > > >>> > > > > > On Wed, Jan 7, 2015 at 2:30 PM, Till Rohrmann < >>> > trohrmann@apache.org> >>> > > > > > wrote: >>> > > > > > >>> > > > > > > +1 >>> > > > > > > >>> > > > > > > On Wed, Jan 7, 2015 at 12:41 PM, Aljoscha Krettek < >>> > > > aljoscha@apache.org >>> > > > > > >>> > > > > > > wrote: >>> > > > > > > >>> > > > > > > > Yes, we should have a guide like that somewhere. >>> > > > > > > > >>> > > > > > > > >>> > > > > > > > On Wed, Jan 7, 2015 at 12:33 PM, Stephan Ewen < >>> > sewen@apache.org> >>> > > > > > wrote: >>> > > > > > > > >>> > > > > > > > > We have not exactly defined this so far, but it is a go= od >>> > point >>> > > > to >>> > > > > do >>> > > > > > > so. >>> > > > > > > > > >>> > > > > > > > > I personally find it good to have changes associated wi= th >>> an >>> > > > issue, >>> > > > > > > > because >>> > > > > > > > > it allows you to trace back why the change was done. >>> > > > > > > > > To make sure we do not overdo this and impose totally >>> > > unnecessary >>> > > > > > > > overhead, >>> > > > > > > > > I would suggest the following: >>> > > > > > > > > >>> > > > > > > > > *No issue is required for* >>> > > > > > > > > >>> > > > > > > > > - Small fixes like typos, simple warnings, >>> > adding/improving a >>> > > > > > comment >>> > > > > > > > > >>> > > > > > > > > - Adding and improving existing pages of the >>> documentation >>> > > > > > > > > >>> > > > > > > > > - Simple improvements of style / elegance / efficienc= y >>> > > (simple >>> > > > > > > > rewriting >>> > > > > > > > > a loop / condition / method interaction) if no behavior= is >>> > > > changed >>> > > > > > > > > >>> > > > > > > > > =3D=3D> Basically anything that does not change or add >>> > > functionality >>> > > > > > > > > >>> > > > > > > > > >>> > > > > > > > > *An issue is required for* >>> > > > > > > > > >>> > > > > > > > > Everything else, in particular: >>> > > > > > > > > >>> > > > > > > > > - Anything that changes functionality or behavior >>> relevant >>> > to >>> > > > > users >>> > > > > > > > > >>> > > > > > > > > - Anything that changes functionality or behavior >>> relevant >>> > to >>> > > > > other >>> > > > > > > > > components >>> > > > > > > > > >>> > > > > > > > > - Anything that adds a feature >>> > > > > > > > > >>> > > > > > > > > >>> > > > > > > > > I would vote to allow coarse issues and have multiple >>> commits >>> > > > that >>> > > > > > > > > reference it >>> > > > > > > > > >>> > > > > > > > > [FLINK-1234] [runtime] Runtime support some cool new th= ing >>> > > > > > > > > [FLINK-1234] [java api] Add hook for cool thing to java= api >>> > > > > > > > > [FLINK-1234] [scala api] Add hook for that thing to sca= la >>> api >>> > > > > > > > > [FLINK-1234] [optimizer] Make optimizer aware that it c= an >>> > > exploit >>> > > > > > this >>> > > > > > > > > thing >>> > > > > > > > > >>> > > > > > > > > >>> > > > > > > > > ------------------------- >>> > > > > > > > > >>> > > > > > > > > The guide lines for pull-requests for committers are as >>> > > follows: >>> > > > > > > > > >>> > > > > > > > > *A pull request with comments/additional signoff is >>> required >>> > > for >>> > > > > > > anything >>> > > > > > > > > that* >>> > > > > > > > > >>> > > > > > > > > - breaks the public APIs >>> > > > > > > > > >>> > > > > > > > > - adds methods to the public APIs (that will need to = be >>> > kept >>> > > > > stable >>> > > > > > > > from >>> > > > > > > > > them on) >>> > > > > > > > > >>> > > > > > > > > - alters user-facing behavior (e.g., mutability of ty= pes, >>> > > null >>> > > > > > value >>> > > > > > > > > handling, window semantics, ...) >>> > > > > > > > > >>> > > > > > > > > - adds user-facing knobs (switches, config parameters= , >>> > > > execution >>> > > > > > > option >>> > > > > > > > > on the execution environment) >>> > > > > > > > > >>> > > > > > > > > - adds additional maven dependencies >>> > > > > > > > > >>> > > > > > > > > - changes the way components interact >>> > > > > > > > > >>> > > > > > > > > - touches highly sensitive and performance critical >>> parts, >>> > > such >>> > > > > > > memory >>> > > > > > > > > management or network stack >>> > > > > > > > > >>> > > > > > > > > =3D=3D> Changes that come with a pull request should ha= ve one >>> or >>> > > more >>> > > > > > > issues >>> > > > > > > > > associated with them. >>> > > > > > > > > >>> > > > > > > > > >>> > > > > > > > > Anyone that wants to have comments or some additional p= airs >>> > of >>> > > > eyes >>> > > > > > in >>> > > > > > > > the >>> > > > > > > > > code should make a pull request as well. >>> > > > > > > > > >>> > > > > > > > > ------------------------- >>> > > > > > > > > >>> > > > > > > > > *Naming scheme for commits* >>> > > > > > > > > >>> > > > > > > > > [issue] [component] Message >>> > > > > > > > > >>> > > > > > > > > For fixes without an issue, the issue can be dropped. >>> > > > > > > > > >>> > > > > > > > > >>> > > > > > > > > >>> > > > > > > > > >>> > > > > > > > > What do you think? Should we put this into the Wiki? >>> > > > > > > > > >>> > > > > > > > > >>> > > > > > > > > Greetings, >>> > > > > > > > > Stephan >>> > > > > > > > > >>> > > > > > > > > >>> > > > > > > > > >>> > > > > > > > > >>> > > > > > > > > On Wed, Jan 7, 2015 at 11:48 AM, Aljoscha Krettek < >>> > > > > > aljoscha@apache.org >>> > > > > > > > >>> > > > > > > > > wrote: >>> > > > > > > > > >>> > > > > > > > > > Hi, >>> > > > > > > > > > I feel we never really talked about this. So, should = we >>> > open >>> > > > Jira >>> > > > > > > > issues >>> > > > > > > > > > even for very small fixes and then add the ticket num= ber >>> to >>> > > the >>> > > > > > > commit? >>> > > > > > > > > Or >>> > > > > > > > > > should we just commit those small fixes. Right now, I >>> have >>> > > two >>> > > > > > small >>> > > > > > > > > fixes >>> > > > > > > > > > (one is 4 lines, the other one is two lines) for the >>> > > > > ValueTypeInfo >>> > > > > > > and >>> > > > > > > > > > TextValueInputFormat. Very obscure stuff, I know. :D >>> > > > > > > > > > >>> > > > > > > > > > Cheers, >>> > > > > > > > > > Aljoscha >>> > > > > > > > > > >>> > > > > > > > > >>> > > > > > > > >>> > > > > > > >>> > > > > > >>> > > > > >>> > > > >>> > > >>> > >>>