Hi Jouni,

Thanks for doing this...

On Mon, Mar 7, 2011 at 2:36 PM, Jouni K. Seppänen <j...@iki.fi> wrote:
> I just wrote this as a response to a question on
> https://github.com/matplotlib/matplotlib/pull/32
> about how to merge to v1.0.x and master.
>
> Please feel free to comment or ask for details.
>
> ------------------------------------------------------------------------------
> First make sure your v1.0.x branch is fresh:
>
>    git checkout v1.0.x
>    git pull --ff-only upstream v1.0.x
>
> (This assumes an "upstream" remote pointing to
> `git://github.com/matplotlib/matplotlib.git`.) Then merge your pull
> request and run the test suite (I don't know if this should be
> mandatory):
>
>    git merge bugfix/legend_windowcall # replace by whatever you are merging
>    python setup.py install # or however you compile things to run the tests
>    ./tests.py # all new test runner script!
>
> If everything is fine, push:
>
>    git push g...@github.com:matplotlib/matplotlib.git v1.0.x
>
> Next do the same with master, this time merging v1.0.x:
>
>    git checkout master
>    git pull --ff-only upstream master
>    git merge v1.0.x
>    python setup.py install
>    ./tests.py
>    git push g...@github.com:matplotlib/matplotlib.git master

We might also want to mention the special case of what needs to be
done for a change not intended for merging into master.

> ------------------------------------------------------------------------------

No comments, it's just the way I would have recommended it.

> There are multiple ways things could go wrong, which will need
> instructions in the devel docs. These are the cases I can think of:
>
> 1. git pull --ff-only fails because fast-forward is impossible
>   (you have commits on an integration branch that don't belong there)

Right, and we should emphasize that integration branches (like master
and v1.0.x) in your local repo should only ever get ahead of the
remote repo for the few moments between merging a branch and pushing
back up to the remote.

> 2. the merge has conflicts
> 3. the tests fail (also a kind of merge conflict, assuming the tests
>   passed before)
> 4. the push fails because fast-forward is impossible (someone has
>   pushed in the meantime)
> 5. v1.0.x doesn't merge cleanly into master

Nicely summarized.

Darren

------------------------------------------------------------------------------
What You Don't Know About Data Connectivity CAN Hurt You
This paper provides an overview of data connectivity, details
its effect on application quality, and explores various alternative
solutions. http://p.sf.net/sfu/progress-d2d
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to