git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Catalin Marinas <catalin.marinas@gmail.com>
To: "Catalin Marinas" <catalin.marinas@gmail.com>,
	"Git Mailing List" <git@vger.kernel.org>,
	"Karl Hasselström" <kha@treskal.com>
Subject: Re: [ANNOUNCE] Stacked Git 0.15-rc1
Date: Tue, 14 Jul 2009 22:05:04 +0100	[thread overview]
Message-ID: <b0943d9e0907141405p317df38fm99f171a3e1d7d118@mail.gmail.com> (raw)
In-Reply-To: <20090714175259.GA18250@cthulhu>

2009/7/14 Larry D'Anna <larry@elder-gods.org>:
> * Catalin Marinas (catalin.marinas@gmail.com) [090712 18:41]:
>> - New 'publish' command for maintaining merge-friendly branches
>
> I'd like to know more about that.  The documentation doesn't say much.  What's
> it do exactly?

You basically keep two branches - one with patches where you can
freely update, reorder, add and remove patches (re-writing the
history) but usually private and another public that people can merge.
The history is never re-written on the public branch and you never
need to work on it directly. The tree of the public branch head is the
same as the stgit branch tree (but history may differ).

The publish command checks for any new changes on the stgit branch and
generates commits on top of the public branch (called <branch>.public
by default). It detects new patches added on top of your branch and
adds them as new commits to the public one. If the stgit branch was
rebased, it generates a merge commit on the public branch. If a patch
was modified and you then publish, it may ask for a commit message to
describe the change. If you reorder patches but the final tree is not
modified, no new changes are published.

I also find it useful when maintaining several stgit branches and want
to merge them into a master branch. If there are conflicts, they need
o be resolved every time I rebase the stgit branches. To avoid this,
in the master branch I only merge the published branches (the master
branch on http://www.linux-arm.org/git?p=linux-2.6.git;a=summary is
created this way). This also helps with conflicts with upstream as you
only need to solve them in the stgit branch rather than the master
one.

-- 
Catalin

      reply	other threads:[~2009-07-14 21:05 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-12 22:40 [ANNOUNCE] Stacked Git 0.15-rc1 Catalin Marinas
2009-07-13  8:28 ` Uwe Kleine-König
2009-07-14 14:12   ` Catalin Marinas
2009-07-13 13:10 ` Karl Wiberg
2009-07-13 13:33 ` Aneesh Kumar K.V
2009-07-13 17:07   ` Catalin Marinas
2009-07-13 17:20     ` Aneesh Kumar K.V
2009-07-13 17:47       ` Aneesh Kumar K.V
2009-07-13 22:06         ` Catalin Marinas
2009-07-13 22:57           ` Linus Torvalds
2009-07-14  8:24             ` Catalin Marinas
2009-07-14 17:52 ` Larry D'Anna
2009-07-14 21:05   ` Catalin Marinas [this message]

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

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

  git send-email \
    --in-reply-to=b0943d9e0907141405p317df38fm99f171a3e1d7d118@mail.gmail.com \
    --to=catalin.marinas@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=kha@treskal.com \
    /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.
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 NNTP newsgroup(s).