44Development workflow
55====================
66
7+ You've discovered a bug or something else you want to change
8+ in matplotlib _ .. |emdash | excellent!
9+
10+ You've worked out a way to fix it |emdash | even better!
11+
12+ You want to tell us about it |emdash | best of all!
13+
14+ The easiest way to contribute to matplotlib _ is through github _. If
15+ for some reason you don't want to use github, see
16+ :ref: `making-patches ` for instructions on how to email patches to the
17+ mailing list.
18+
719You already have your own forked copy of the matplotlib _ repository, by
820following :ref: `forking `, :ref: `set-up-fork `, and you have configured
921git _ by following :ref: `configure-git `.
@@ -15,8 +27,10 @@ Workflow summary
1527 to the main matplotlib _ development repo. Your ``master `` then will follow
1628 the main matplotlib _ repository.
1729* Start a new *feature branch * for each set of edits that you do.
18- * If you can avoid it, try not to merge other branches into your feature
19- branch while you are working.
30+ * Do not merge the ``master `` branch or maintenance tracking branches
31+ into your feature branch. If you need to include commits from upstream
32+ branches (either to pick up a bug fix or to resolve a conflict) please
33+ *rebase * your branch on the upstream branch.
2034* Ask for review!
2135
2236This way of working really helps to keep work well organized, and in
@@ -103,60 +117,32 @@ In more detail
103117#. To push the changes up to your forked repo on github _, do a ``git
104118 push `` (see `git push `).
105119
106- Asking for code review
107- ======================
108-
109- #. Go to your repo URL |emdash | e.g.,
110- ``http://github.com/your-user-name/matplotlib ``.
111- #. Click on the *Branch list * button:
112-
113- .. image :: branch_list.png
120+ Asking for code review |emdash | open a Pull Request (PR)
121+ ========================================================
114122
115- #. Click on the *Compare * button for your feature branch |emdash | here ``my-new-feature ``:
116-
117- .. image :: branch_list_compare.png
123+ It's a good idea to consult the :ref: `pull-request-checklist ` to make
124+ sure your pull request is ready for merging.
118125
119- #. If asked, select the *base * and *comparison * branch names you want to
120- compare. Usually these will be ``master `` and ``my-new-feature ``
121- (where that is your feature branch name).
122- #. At this point you should get a nice summary of the changes. Copy the
123- URL for this, and post it to the `matplotlib mailing list `_, asking for
124- review. The URL will look something like:
125- ``http://github.com/your-user-name/matplotlib/compare/master...my-new-feature ``.
126- There's an example at
127- http://github.com/matthew-brett/nipy/compare/master...find-install-data
128- See: http://github.com/blog/612-introducing-github-compare-view for
129- more detail.
130126
131- The generated comparison, is between your feature branch
132- ``my-new-feature ``, and the place in ``master `` from which you branched
133- ``my-new-feature ``. In other words, you can keep updating ``master ``
134- without interfering with the output from the comparison. More detail?
135- Note the three dots in the URL above (``master...my-new-feature ``) and
136- see :ref: `dot2-dot3 `.
127+ #. Go to your repo URL |emdash | e.g.,
128+ ``http://github.com/your-user-name/matplotlib ``.
137129
138- It's a good idea to consult the :ref: `pull-request-checklist ` to make
139- sure your pull request is ready for merging.
130+ #. Select your feature branch from the drop down menu:
140131
141- Asking for your changes to be merged into the main repo
142- =======================================================
132+ #. Click on the green button:
143133
144- When you are ready to ask for the merge of your code:
134+ #. Make sure that you are requesting a pull against the correct branch
145135
146- #. Go to the URL of your forked repo, say
147- ``http://github.com/your-user-name/matplotlib.git ``.
148- #. Click on the 'Pull request' button:
136+ #. Enter a PR heading and description (if there is only one commit in
137+ the PR github will automatically fill these fields for you). If
138+ this PR is addressing a specific issue, please reference it by number
139+ (ex #1325) which github will automatically make into links.
149140
150- .. image :: pull_button.png
141+ #. Click 'Create Pull Request' button!
151142
152- Enter a message; we suggest you select only ``matplotlib `` as the
153- recipient. The message will go to the `matplotlib mailing list `_. Please
154- feel free to add others from the list as you like.
143+ #. Discussion of the change will take place in the pull request
144+ thread.
155145
156- #. If the branch is to be merged into a maintenance branch on the main
157- repo, make sure the "base branch" indicates the maintenance branch
158- and not master. Github can not automatically determine the branch
159- to merge into.
160146
161147Staying up to date with changes in the central repository
162148=========================================================
0 commit comments