4
4
Development workflow
5
5
====================
6
6
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
+
7
19
You already have your own forked copy of the matplotlib _ repository, by
8
20
following :ref: `forking `, :ref: `set-up-fork `, and you have configured
9
21
git _ by following :ref: `configure-git `.
@@ -15,8 +27,10 @@ Workflow summary
15
27
to the main matplotlib _ development repo. Your ``master `` then will follow
16
28
the main matplotlib _ repository.
17
29
* 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.
20
34
* Ask for review!
21
35
22
36
This way of working really helps to keep work well organized, and in
@@ -103,60 +117,32 @@ In more detail
103
117
#. To push the changes up to your forked repo on github _, do a ``git
104
118
push `` (see `git push `).
105
119
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
+ ========================================================
114
122
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.
118
125
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.
130
126
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 ``.
137
129
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:
140
131
141
- Asking for your changes to be merged into the main repo
142
- =======================================================
132
+ #. Click on the green button:
143
133
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
145
135
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.
149
140
150
- .. image :: pull_button.png
141
+ #. Click 'Create Pull Request' button!
151
142
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.
155
145
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.
160
146
161
147
Staying up to date with changes in the central repository
162
148
=========================================================
0 commit comments