From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bastien Subject: Re: [DEV] New git workflow Date: Tue, 20 Mar 2012 11:40:40 +0100 Message-ID: <87ehsnr1w7.fsf@gnu.org> References: <87mx7cf613.fsf@altern.org> <87fwd3ycsu.fsf@Rainer.invalid> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:56300) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S9wTQ-0006A2-NT for emacs-orgmode@gnu.org; Tue, 20 Mar 2012 06:39:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S9wTK-0006p6-E5 for emacs-orgmode@gnu.org; Tue, 20 Mar 2012 06:39:28 -0400 Received: from incoming2.cnam.fr ([163.173.128.34]:2868) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S9wTK-0006os-8T for emacs-orgmode@gnu.org; Tue, 20 Mar 2012 06:39:22 -0400 In-Reply-To: <87fwd3ycsu.fsf@Rainer.invalid> (Achim Gratz's message of "Tue, 20 Mar 2012 08:03:13 +0100") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Achim Gratz Cc: emacs-orgmode@gnu.org Hi Achim, Achim Gratz writes: > Bastien writes: >> The main problem I see With this workflow is that releases are made >> from two different branches: bugfix releases are made from maint and >> major releases are made from master. This doesn't look right to me. > > That ain't necessarily so. IMHO, the release always has to be done from > maint (that's the whole purpose of it), preceded by a merge from master > if and only if a major release is done. Agreed. What I want on top of this is a to have a branch where *every* commit corresponds to a single release. >> - master: the main persistent branch. This is were regular development >> goes. This branch is merged back to the maint branch when we release >> a new major version. No release happens directly from this branch. >> >> - maint: the "production" persistent branch. This branch is dedicated >> to the release process: when hot fixes are hot enough, we merge the >> hotfix branch to the maint branch and release a bugfix release. When >> the master branch (where hot fixes are also merged to) is mature and >> well tested, we merge master into maint and release a major version. > > So far no deviation from today. There is one important deviation: so far we could commit changes to maint and _not_ make a release. From now on, every commit to maint should correspond to a release. > All things considered, the hotfix branch and maint > should almost always point to the same commit. In other words, all > hotfix branches should merge into maint first and then maint back into > master. No. All hotfix branches should merge into master regularily. When hotfix contains enough fixes for a bugfix release, then we merge it to maint, and process with release. My main goal is this: have a branch with one commit = one release. >> Here are the advantages I see: >> >> 1) *all releases happen on the same branch* (the maint branch): it is >> easier to keep this branch in sync with Emacs and we can also add >> git hooks to automate the release process. > > See above, that was always how it was supposed to work. Yes. -- Bastien