git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Jon Smirl" <jonsmirl@gmail.com>
To: "Catalin Marinas" <catalin.marinas@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:54:05 -0500	[thread overview]
Message-ID: <9e4733910711191454i40d56fa2h9791415c092b9b9c@mail.gmail.com> (raw)
In-Reply-To: <tnxbq9qyvom.fsf@pc1117.cambridge.arm.com>

On 11/19/07, Catalin Marinas <catalin.marinas@arm.com> wrote:
> "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).


Is a StGit where we can transparently share patches under version
control in the works?

Something like this:
clone repo with stgit
normal stg commands work with no setup
change a patch
stg push the repo

I stg pull and the patch is updated.
I also get rebased forward if the base repo has been updated

-- 
Jon Smirl
jonsmirl@gmail.com

  reply	other threads:[~2007-11-19 22:54 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
2007-11-19 22:54       ` Jon Smirl [this message]
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=9e4733910711191454i40d56fa2h9791415c092b9b9c@mail.gmail.com \
    --to=jonsmirl@gmail.com \
    --cc=catalin.marinas@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.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).