[IPython-dev] Pull request workflow...

Matthew Brett matthew.brett at gmail.com
Mon Oct 11 02:29:09 EDT 2010


Yo,

> I'm bouncing back this reply to the list, because this is a good
> question that deserves clarification.  I'm hoping in the end, this
> conversation will be summarized in our guidelines, so I'd rather have
> it all publicly archived.

So just to check.  Let's say you have:

        A---B---C topic
        /
   D---E---F---G master

You (Fernando) would prefer the pull request to be from a rebased
version of 'topic':

                         Adash---Bdash---Cdash topic-rebased
                        /
   D---E---F---G master

I must say, if it were me, I'd prefer the original in that case,
because it's a clearer indication of the history, and because rebasing
does have some cost.

The cost is that rebasing orphans the original 'topic' branch so that
it becomes actively dangerous to have around.   If you try and merge
'topic' after you've merged 'rebased-topic' you'll get lots of
conflicts that will be confusing.   That means that, if you've put
'topic' up on your github site, and anyone's fetched from you, then
you've got to track who fetched and warn them they are going to run
into trouble if they use anything based on it.

Well - anyway - you know all that - but I think - if you are
suggesting rebasing even for the clean 'coffee cup handle' type of
branches, that would be unusual practice no?

On the other hand, I agree with you and Linus (!) that it's very
confusing if someone's merged the main branch into their own before a
pull request and that would be a good thing to discourage in general.

Sorry - maybe the fever's got to me ;)

Mattthew



More information about the IPython-dev mailing list