Return-Path: X-Original-To: apmail-accumulo-dev-archive@www.apache.org Delivered-To: apmail-accumulo-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 0E571115A7 for ; Tue, 23 Sep 2014 16:03:43 +0000 (UTC) Received: (qmail 50044 invoked by uid 500); 23 Sep 2014 16:03:42 -0000 Delivered-To: apmail-accumulo-dev-archive@accumulo.apache.org Received: (qmail 50003 invoked by uid 500); 23 Sep 2014 16:03:42 -0000 Mailing-List: contact dev-help@accumulo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@accumulo.apache.org Delivered-To: mailing list dev@accumulo.apache.org Received: (qmail 49992 invoked by uid 99); 23 Sep 2014 16:03:42 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Sep 2014 16:03:42 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [209.85.220.180] (HELO mail-vc0-f180.google.com) (209.85.220.180) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Sep 2014 16:03:37 +0000 Received: by mail-vc0-f180.google.com with SMTP id hq11so5520069vcb.11 for ; Tue, 23 Sep 2014 09:03:16 -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:date :message-id:subject:from:to:content-type; bh=wcoDJobkZUxFRszQie1U31oGg7rcgMynlVZ3zU72ZHw=; b=UkYyw6W2+Vij9Xe0hmW4GaWSfSgENgs4UwOyLgA0gUwpvuFtKfqzRMTmuYwR2cNpRA 8Cp3/ZEwbhAuR1jujh+z56R0ssWmvLC5EzOYIRJMm5LMCHqLFv6eiwU9iNPNiXMz200J lXN+9AZFzn+1tFTpfEgj1Egjlq5Mljzc1ZDEPmYTRuZ89ooHQ5I6T+f0fNBxe+dccUgY oLTbip7WsdLQj2lJD2+qQcXwouInjvCIjrIxj5Z8bzCwHDu13hCtl5WVuOiD3s7eFOt0 fLy7HbpqnfzINyJt6UpqELh3nlQ0hNQ5zuzl8+K8BcOTuVVic/nvp616qyTu6IU4Sb67 dS0g== X-Gm-Message-State: ALoCoQmKAJlre7stXaUWJTL3P67iSKj1nMQSbWr6WQ/kPEpA0Lj5k/zY47KK1PxFhLWIr6IWzLXI MIME-Version: 1.0 X-Received: by 10.221.55.2 with SMTP id vw2mr550811vcb.29.1411488196404; Tue, 23 Sep 2014 09:03:16 -0700 (PDT) Received: by 10.220.48.72 with HTTP; Tue, 23 Sep 2014 09:03:16 -0700 (PDT) In-Reply-To: References: <5420E674.9010909@gmail.com> Date: Tue, 23 Sep 2014 12:03:16 -0400 Message-ID: Subject: Re: [DISCUSS] Thinking about branch names From: Keith Turner To: Accumulo Dev List Content-Type: multipart/alternative; boundary=001a1133a0fe8d407d0503bdb47a X-Virus-Checked: Checked by ClamAV on apache.org --001a1133a0fe8d407d0503bdb47a Content-Type: text/plain; charset=UTF-8 On Tue, Sep 23, 2014 at 11:45 AM, Josh Elser wrote: > Personally, I like the succinctness of "1.5" over the ones you > presented. I don't feel like "1.5.x" or "1.5-dev" tell me anything > more than "1.5" already did so they just turn into more typing. I > don't really think there's a high chance that we ever abandon x.y.z > version strings, so there isn't a big chance for it to look like a > release. > > For context, Hadoop (and other related projects) tend to do a > "branch-X" and "branch-X.Y". For the same reasons as above, I feel > like the "branch-" is unnecessary. > > Is anyone else concerned about potential confusion having "x.y" branch > names? > I am not. I would be if there was something in the way that git worked that made this choice confusing. When I checkout a tag, git prints out tome about being in detached HEAD state, thats fairly obvious. In there anything else that may be confusing w/ the way git works w/ these tag names? > > On Tue, Sep 23, 2014 at 9:04 AM, Christopher wrote: > > +1 to static dev branch names per release series. (this would also fix > the > > Jenkins spam when the builds break due to branch name changes) > > > > However, I kind of prefer 1.5.x or 1.5-dev, or similar, over simply 1.5, > > which looks so much like a release version that I wouldn't want it to > > generate any confusion. > > > > Also, for reference, here's a few git commands that might help some > people > > avoid the situation that happened: > > git remote update > > git remote prune $(git remote) > > git config --global push.default current # git < 1.8 > > git config --global push.default simple # git >= 1.8 > > > > The situation seems to primarily have occurred because of some pushes > that > > succeeded because the local clone was not aware that the remote branches > > had disappeared. Pruning will clean those up, so that you'll get an error > > if you try to push. Simple/current push strategy will ensure you don't > push > > all matching branches by default. Josh's proposed solution makes it less > > likely the branches will disappear/change on a remote, but these are > still > > useful git commands to be aware of, and are related enough to this > > situation, I thought I'd share. > > > > > > > > -- > > Christopher L Tubbs II > > http://gravatar.com/ctubbsii > > > > On Mon, Sep 22, 2014 at 11:18 PM, Josh Elser > wrote: > > > >> After working on 1.5.2 and today's branch snafu, I think I've come to > the > >> conclusion that our branch naming is more pain than it's worth (I > believe I > >> was the one who primarily argued for branch names as they are current > >> implemented, so take that as you want). > >> > >> * Trying to making a new branch for the "next" version as a release is > >> happening forces you to fight with Maven. Maven expects that your > "next" is > >> going to be on the same branch and the way it makes commits and bumps > >> versions for you encourages this. Using a new branch for "next" is more > >> manual work for the release manager. > >> > >> * The time after we make a release, there's a bit of confusion (I do it > >> too, just not publicly... yet) about "what branch do I put this fix for > >> _version_ in?". It's not uncommon to put it in the "old" branch instead > of > >> the new one. The problem arises when the old branch has already been > >> deleted. If a developer has an old version of that branch, there's > nothing > >> to tell them "hey, your copy of this branch is behind the remote's copy > of > >> this branch. I'm not accepting your push!" Having a single branch for a > >> release line removes this hassle. > >> > >> "Pictorially", I'm thinking we would change from the active branches > >> {1.5.3-SNAPSHOT, 1.6.1-SNAPSHOT, 1.6.2-SNAPSHOT, master} to {1.5, 1.6, > >> master}. (where a git tag would exist for the 1.6.1 RCs). > >> > >> IIRC, the big argument for per-release branches was of encouraging > >> frequent, targeted branches (I know the changes for this version go in > this > >> branch). I think most of this can be mitigated by keeping up with > frequent > >> releases and coordination with the individual cutting the release. > >> > >> In short, I'm of the opinion that I think we should drop the > ".z-SNAPSHOT" > >> suffix from branch names (e.g. 1.5.3-SNAPSHOT) and move to a shorter > "x.y" > >> (e.g. 1.5) that exists for the lifetime of that version. I think we > could > >> also use this approach if/when we change our versioning to start using > the > >> "x" component of "x.y.z". > >> > >> Thoughts? > >> > >> - Josh > >> > --001a1133a0fe8d407d0503bdb47a--