Subject: Re: Rebase safely (Re: cherry picking and merge)

From: Nico Williams <[email-masked]>
Date: Wed, 6 Aug 2014 15:13:46 -0500

On Wed, Aug 06, 2014 at 02:44:59PM -0500, Nico Williams wrote:
> That means that you have/maintain an intermediate upstream, yes?
> 
> This is a bit trickier since once in a while that intermediate upstream
> and everyone downstream of it has to catch up with the real upstream.
> 
> Here you have two options:
> 
>  - the intermediate diverges from the real upstream, and then you
>    merge/cherry-pick from the upstream as needed
>    
>    The intermediate's maintainer must still merge/rebase/cherry-pick
>    from the intermediate branch and onto a branch of the upstream in
>    order to push to the upstream.

I should add something important here.

Rebasing makes life easier for the intermediate maintainer, and for any
upstream maintainer who has to merge "pull requests" or patches sent in
email.  Rebasing puts the onus for merging on the contributor, exactly
where it belongs!

(Granted, for an e-mail based workflow one's patches might have made for
a fast-forward merge when sent but not when the upstream gets to them.
With long enough latency this gets painful.  Which is why I don't
recommend an e-mail based commit integration workflow.)

Nico
--