emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#11153: closed (change automake branching policy: d


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#11153: closed (change automake branching policy: dispensing with the 'branch-X.Y' branches in the future)
Date: Wed, 25 Apr 2012 21:33:01 +0000

Your message dated Wed, 25 Apr 2012 23:31:21 +0200
with message-id <address@hidden>
and subject line Re: bug#11153: change automake branching policy: dispensing 
with the 'branch-X.Y' branches in the future
has caused the debbugs.gnu.org bug report #11153,
regarding change automake branching policy: dispensing with the 'branch-X.Y' 
branches in the future
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
11153: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11153
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: change automake branching policy: dispensing with the 'branch-X.Y' branches in the future Date: Mon, 02 Apr 2012 18:13:03 +0200
Severity: wishlist
thanks

Hello Automakers.

After some real hand-on experience with the current branching policy
of Automake, I'm convinced the presence of the 'branch-X.Y' branches
is just an annoyance and a source of confusion, and that a better policy
would be to simply have a 'maint' branch (where to cut maintenance
 releases directly from), a master branch (where maint is to be kept
regularly merged into, and from which the next major release is to be
derived at last), and possibly topic branches (only when needed, and
better if they are short-lived).  Maybe we could also re-add the 'next'
branch to serve as common ground for feature merging and testing, but
than can be done in a second time (and only if the need arise).

When a major release is done, the master branch is to be merged into
the maint branch, and then a "new" master branch created stemming
from the resulting commit.

WDYT?  If you agree, I can apply the change below to HACKING, and
implement the new branching policy starting from the Automke 1.12
release.

Regards,
  Stefano

-*-*-*-

diff --git a/HACKING b/HACKING
index 29c0e4a..b34cee6 100644
--- a/HACKING
+++ b/HACKING
@@ -103,37 +103,22 @@
   latest stable version of Autoconf installed and available early
   in your PATH.

-* The git tree currently carries a number of branches: master for the
-  current development, and release branches named branch-X.Y.  The maint
-  branch serves as common ground for both master and the active release
-  branches.  Changes intended for both should be applied to maint, which
-  should then be merged to release branches and master, of course after
-  suitable testing.  It is advisable to merge only after a set of related
-  commits have been applied.
-
-* Example work flow for patches to maint:
-
-  # 1. Checkout the "maint" branch:
-  git checkout maint
-
-  # 2. Apply the patch(es) with "git am" (or create them with $EDITOR):
-  git am -3 0*.patch
-  # 2a. Run required tests, if any ...
-
-  # 3. Merge maint into branch-1.11:
-  git checkout branch-1.11
-  git merge maint
-  # 3a. Run required tests, if any ...
-
-  # 4. Redo steps 3 and 3a for master:
-  git checkout master
-  git merge maint
-  # testing ...
-
-  # 5. Push the maint and master branches:
-  git push --dry-run origin maint branch-1.11 master
-  # if all seems ok, then actually push:
-  git push origin maint branch-1.11 master
+* The Automake git tree currently carries two basic branches: 'master' for
+  the current development, and 'maint' for maintenance and bug fixes.  The
+  maint branch should be kept regularly merged into the master branch.
+  It is advisable to merge only after a set of related commits have been
+  applied, to avoid introducing too much noise in the history.
+
+* There may be a number of longer-lived feature branches for new
+  developments.  They should be based off of a common ancestor of all
+  active branches to which the feature should or might be merged later.
+  in the future, we might introduce a special branch named 'next' that
+  may serve as common ground for feature merging and testing, should
+  they not be ready for master yet.
+
+* When a major release is done, the master branch is to be merged into
+  the maint branch, and then a "new" master branch created stemming
+  from the resulting commit.

 * When fixing a bug (especially a long-standing one), it may be useful
   to commit the fix to a new temporary branch based off the commit that
@@ -141,12 +126,6 @@
   the active branches descending from the buggy commit.  This offers a
   simple way to fix the bug consistently and effectively.

-* There may be a number of longer-lived feature branches for new developments.
-  They should be based off of a common ancestor of all active branches to
-  which the feature should or might be merged later.  The next branch may
-  serve as common ground for feature merging and testing, should they not
-  be ready for master yet.
-
 * For merges from branches other than maint, prefer 'git merge --log' over
   plain 'git merge', so that a later 'git log' gives an indication of which
   actual patches were merged even when they don't appear early in the list.



--- End Message ---
--- Begin Message --- Subject: Re: bug#11153: change automake branching policy: dispensing with the 'branch-X.Y' branches in the future Date: Wed, 25 Apr 2012 23:31:21 +0200
I've now implemented the proposed branching setup, with the following steps:

 - I have removed the old and outdated 'next' branch (which was an
   ancestor of the current 'master').

 - I have removed the 'branch-1.11' branch (whose tip pointed at
   the commit tagged by tag 'v1.11.5').

 - Now that 1.12 is out, I've merged master into maint (with a non
   fast-forward merge to keep this action visible in git history);

 - I have updated the version number in maint to 1.12.0a;

 - I have merged this new maint into master;

 - Finally, I have updated the version number in master to 1.12a.

I'm thus closing this bug report.  Let's hope the new policy will work
out for the best!

Thanks,
  Stefano


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]