Merging from staging to master

Mark McLoughlin markmc at redhat.com
Wed Sep 16 14:57:06 UTC 2009


On Wed, 2009-09-16 at 08:41 -0500, Mike McGrath wrote:
> On Wed, 16 Sep 2009, Mark McLoughlin wrote:
> 
> > On Wed, 2009-09-16 at 07:46 -0500, Mike McGrath wrote:
> > > On Wed, 16 Sep 2009, Mark McLoughlin wrote:
> > >
> > > > On Tue, 2009-09-15 at 16:54 -0500, Mike McGrath wrote:
> > > > > This has bugged me forever and I think I've got it figured out now (thanks
> > > > > mdomsch for pointing me in the right direction)
> > > > >
> > > > > Lets say you've been working for weeks on a module in staging and you want
> > > > > to cherry pick those commits.  How do you do it?  It becomes trickier even
> > > > > if someone else has been working on other modules in staging.
> > > >
> > > > It's probably better to have a topic branch for your changes and merge
> > > > that regularly into staging while you're working on it. When it's all
> > > > done, you can merge the topic branch into master.
> > > >
> > >
> > > There's no way to properly test the changes with that method though
> > > unfortunately.
> >
> > How is it different?
> >
> > Merging the topic branch into staging is the same as doing the working
> > on staging itself, except the work is better isolated for merging into
> > master later.
> >
> 
> Because we have to pick which branch to send to staging.  So if I picked
> branch 'mmcgrath' and luke picked branch 'lmacken' neither of them would
> end up being tested in our actual staging environment since we have to
> point the staging environment at a specific branch.

I was assuming there was a branch called 'staging'

  $> git checkout -b mmcgrath-fix-foo-bar origin/staging
  ... do stuff while other people do stuff on staging ...
  $> git fetch origin
  $> git checkout -b staging-merge origin/staging
  $> git merge mmcgrath-fix-foo-bar
  $> git push origin HEAD:staging

Then when it has been tested:

  $> git fetch origin
  $> git checkout -b final-merge origin/master
  $> git merge mmcgrath-fix-foo-bar
  $> git push origin HEAD:master

That should work fine.

Cheers,
Mark.




More information about the Fedora-infrastructure-list mailing list