All of lore.kernel.org
 help / color / mirror / Atom feed
From: Catalin Marinas <catalin.marinas@arm.com>
To: "Jon Smirl" <jonsmirl@gmail.com>
Cc: "Junio C Hamano" <gitster@pobox.com>,
	"Git Mailing List" <git@vger.kernel.org>
Subject: Re: ! [rejected] master -> master (non-fast forward)
Date: Mon, 19 Nov 2007 17:47:05 +0000	[thread overview]
Message-ID: <tnxbq9qyvom.fsf@pc1117.cambridge.arm.com> (raw)
In-Reply-To: <9e4733910711181042x123e99efjad38486654db17e2@mail.gmail.com> (Jon Smirl's message of "Sun\, 18 Nov 2007 13\:42\:19 -0500")

"Jon Smirl" <jonsmirl@gmail.com> wrote:
> On 11/18/07, Junio C Hamano <gitster@pobox.com> wrote:
>> "Jon Smirl" <jonsmirl@gmail.com> writes:
>>
>> > What's causing this? I'm using stgit on the master branch.
[...]
>> pushed "A" to the remote's 'master', then built this history:
>>
>>          o---o---A
>>         /
>>     ---o---o---o---o---A'
>>
>> by rewinding and rebuilding, and the tip of the branch now
>> points at A', which you tried to push to the remote.
>
> stgit must be doing this when I rebase. It pops all of it's patches,
> moves to head of linus/master and then rebases them.
[...]
> What is the right way to share repositories using stgit? I have a set
> of patches which I am working on for kernel inclusion. I have them
> applied as a stgit stack on top of linus/master. I need to share this
> patch stack with other developers. These developers may want to change
> one of my patches. Right now they are emailing me deltas and I apply
> them to the appropriate stgit patch. I have seventeen patches in my
> stack currently.

StGIT is meant for keeping a clean history but with the big
disadvantage that this history is volatile.

A solution is for the other developers to use StGIT or just git-rebase
so that they always have the same base (volatile) history and keep
their patches on top of yours.

A 2nd approach is to use topic branches rather than StGIT patches but
you might lose some flexibility.

Yet another approach (which I used) is to keep a public branch (can be
maintained by StGIT) where the history doesn't change and a devel
volatile branch. When I modify some patches and they are ready for
publishing, switch to the public branch and cherry-pick them (stg
pick) from the devel branch. Because this is done with a three-way
merge in StGIT, you will only get the new changes rather than the full
patch. You need to change the patch message (as it is that of the
original patch) to describe the specific changes and run 'stg refresh
&& stg commit' to store it into the immutable history (well, there is
an 'uncommit' command as well if something goes wrong).

-- 
Catalin

  reply	other threads:[~2007-11-19 17:50 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-18 15:12 ! [rejected] master -> master (non-fast forward) Jon Smirl
2007-11-18 18:10 ` Junio C Hamano
2007-11-18 18:42   ` Jon Smirl
2007-11-19 17:47     ` Catalin Marinas [this message]
2007-11-19 22:54       ` Jon Smirl
2007-11-20  0:03         ` Daniel Barkalow
2007-11-18 18:29 ` Alex Riesen
2007-11-20  4:16   ` Jeff King
2007-11-20  6:50     ` Alex Riesen
2007-11-20 11:13       ` Jeff King
2007-11-20 11:18         ` [PATCH 1/2] send-pack: cluster ref status reporting Jeff King
2007-11-20 18:22           ` Alex Riesen
2007-11-21  7:24           ` Junio C Hamano
2007-11-21  7:33             ` Jeff King
2007-11-21  7:36               ` Junio C Hamano
2007-11-21  7:39                 ` Jeff King
2007-11-21  7:37               ` Jeff King
2007-11-20 11:21         ` [PATCH 2/2] send-pack: print "maybe you need to pull" hint Jeff King
2007-11-20 18:24           ` Alex Riesen

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=tnxbq9qyvom.fsf@pc1117.cambridge.arm.com \
    --to=catalin.marinas@arm.com \
    --cc=catalin.marinas@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jonsmirl@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.