git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: John Keeping <john@keeping.me.uk>
To: git@vger.kernel.org
Subject: ANNOUNCE: git-integration -- Easily manage integration branches
Date: Tue, 30 Jul 2013 16:46:20 +0100	[thread overview]
Message-ID: <20130730154620.GN2337@serenity.lan> (raw)

I wrote this script a few months ago and have been using it pretty much
daily since then, so I figure it's time to see if anyone else finds it
useful...

git-integration [1] is a script to help manage integration branches in
Git.  By defining a base point and a set of branches to be merged to
form the integration branch, git-integration lets you easily rebuild an
integration branch when anything in it changes, as well as showing you
the status of all of the branches in the integration branch.

For example, the instruction sheet for git-integration's "pu" branch
recently looked like this:

	base master

	merge make-clean

	  Add a "clean" target to the makefile.

	merge version

	  Support for "--version" option.

	  N.B. this builds on "make-clean".

	merge skip-option

	  Needs more work to be able to handle "branch not found".

This tells git-integration to base the "pu" branch on "master" and merge
the "make-clean", "version" and "skip-option" branches in.  The comments
following the "merge" instructions are added to the commit message for
the corresponding merge commit.  When I want to rebuild the "pu" branch
I simply do:

	$ git integration --rebuild pu

To change the contents of the branch, I either edit the instruction
sheet manually:

	$ git integration --edit pu

or quickly add a new branch from the command line:

	$ git integration --add my-new-branch pu

In fact, I can combine these to get the benefit of bash-completion on
the branch name and the ability to edit the instruction sheet - when
multiple commands are specified, git-integration performs each of them
in a sensible order, described in the manpage [2].


[1] http://johnkeeping.github.io/git-integration/
[2] http://johnkeeping.github.io/git-integration/git-integration.html

             reply	other threads:[~2013-07-30 15:46 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-30 15:46 John Keeping [this message]
2013-07-30 16:45 ` ANNOUNCE: git-integration -- Easily manage integration branches Junio C Hamano
2013-07-30 17:57   ` John Keeping

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130730154620.GN2337@serenity.lan \
    --to=john@keeping.me.uk \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).