You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+38-20Lines changed: 38 additions & 20 deletions
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,20 @@
1
1
# Contributing to ggplot2 development
2
2
3
-
The goal of this guide is to help you get up and contributing to ggplot2 as quickly as possible. The guide is divided into two main pieces:
3
+
The goal of this guide is to help you get up and contributing to ggplot2 as
4
+
quickly as possible. The guide is divided into two main pieces:
4
5
5
6
1. Filing a bug report or feature request in an issue.
6
7
1. Suggesting a change via a pull request.
7
8
9
+
Please note that ggplot2 is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By contributing to this project,
10
+
you agree to abide by its terms.
11
+
8
12
## Issues
9
13
10
-
When filing an issue, the most important thing is to include a minimal reproducible example so that we can quickly verify the problem, and then figure out how to fix it. There are three things you need to include to make your example reproducible: required packages, data, code.
14
+
When filing an issue, the most important thing is to include a minimal
15
+
reproducible example so that we can quickly verify the problem, and then figure
16
+
out how to fix it. There are three things you need to include to make your
17
+
example reproducible: required packages, data, code.
11
18
12
19
1.**Packages** should be loaded at the top of the script, so it's easy to
13
20
see which ones the example needs.
@@ -34,9 +41,11 @@ When filing an issue, the most important thing is to include a minimal reproduci
34
41
* do your best to remove everything that is not related to the problem.
35
42
The shorter your code is, the easier it is to understand.
36
43
37
-
You can check you have actually made a reproducible example by starting up a fresh R session and pasting your script in.
44
+
You can check you have actually made a reproducible example by starting up a
45
+
fresh R session and pasting your script in.
38
46
39
-
(Unless you've been specifically asked for it, please don't include the output of `sessionInfo()`.)
47
+
(Unless you've been specifically asked for it, please don't include the output
48
+
of `sessionInfo()`.)
40
49
41
50
## Pull requests
42
51
@@ -48,7 +57,9 @@ To contribute a change to ggplot2, you follow these steps:
48
57
1. Iterate until either we accept the PR or decide that it's not
49
58
a good fit for ggplot2.
50
59
51
-
Each of these steps are described in more detail below. This might feel overwhelming the first time you get set up, but it gets easier with practice. If you get stuck at any point, please reach out for help on the [ggplot2-dev](https://groups.google.com/forum/#!forum/ggplot2-dev) mailing list.
60
+
Each of these steps are described in more detail below. This might feel
61
+
overwhelming the first time you get set up, but it gets easier with practice.
62
+
If you get stuck at any point, please reach out for help on the [ggplot2-dev](https://groups.google.com/forum/#!forum/ggplot2-dev) mailing list.
52
63
53
64
If you're not familiar with git or github, please start by reading <http://r-pkgs.had.co.nz/git.html>
54
65
@@ -68,15 +79,15 @@ See http://docs.ggplot2.org/dev/vignettes/development.html for more details.
68
79
69
80
Pull requests will be evaluated against a seven point checklist:
70
81
71
-
1.__Motivation__. Your pull request should clearly and concisely motivates the
72
-
need for change. Unfortunately neither Winston nor I have much time to
73
-
work on ggplot2 these days, so you need to describe the problem and show
74
-
how your pull request solves it as concisely as possible.
82
+
1.__Motivation__. Your pull request should clearly and concisely motivate the
83
+
need for change. Unfortunately neither Winston nor I have much time to
84
+
work on ggplot2 these days, so you need to describe the problem and show
85
+
how your pull request solves it as concisely as possible.
75
86
76
-
Also include this motivation in `NEWS` so that when a new release of
77
-
ggplot2 comes out it's easy for users to see what's changed. Add your
78
-
item at the top of the file and use markdown for formatting. The
79
-
news item should end with `(@yourGithubUsername, #the_issue_number)`.
87
+
Also include this motivation in `NEWS` so that when a new release of
88
+
ggplot2 comes out it's easy for users to see what's changed. Add your
89
+
item at the top of the file and use markdown for formatting. The
90
+
news item should end with `(@yourGithubUsername, #the_issue_number)`.
80
91
81
92
1.__Only related changes__. Before you submit your pull request, please
82
93
check to make sure that you haven't accidentally included any unrelated
@@ -89,7 +100,7 @@ Pull requests will be evaluated against a seven point checklist:
89
100
and don't submit any others until the first one has been processed.
a consistent style across the whole code base makes it much easier to
94
105
jump into the code. If you're modifying existing ggplot2 code that
95
106
doesn't follow the style guide, a separate pull request to fix the
@@ -103,17 +114,24 @@ Pull requests will be evaluated against a seven point checklist:
103
114
can get with `install_github("klutometis/roxygen")`. This will be
104
115
available on CRAN in the near future.
105
116
106
-
<!--
107
117
1. If fixing a bug or adding a new feature to a non-graphical function,
108
-
please add a [testthat](https://github.com/hadley/testthat) unit test.
118
+
please add a [testthat](https://github.com/r-lib/testthat) unit test.
109
119
110
120
1. If fixing a bug in the visual output, please add a visual test.
111
121
(Instructions to follow soon)
112
-
-->
113
122
114
123
1. If you're adding a new graphical feature, please add a short example
115
124
to the appropriate function.
116
125
117
-
This seems like a lot of work but don't worry if your pull request isn't perfect. It's a learning process and Winston and I will be on hand to help you out. A pull request is a process, and unless you've submitted a few in the past it's unlikely that your pull request will be accepted as is.
118
-
119
-
Finally, remember that ggplot2 is a mature package used by thousands of people. This means that it's extremely difficult (i.e. impossible) to change any existing functionality without breaking someone's code (or another package on CRAN). Please don't submit pull requests that change existing behaviour. Instead, think about how you can add a new feature in a minimally invasive way.
126
+
This seems like a lot of work but don't worry if your pull request isn't perfect.
127
+
It's a learning process and members of the ggplot2 team will be on hand to help you
128
+
out. A pull request ("PR") is a process, and unless you've submitted a few in the
129
+
past it's unlikely that your pull request will be accepted as is. All PRs require
130
+
review and approval from at least one member of the ggplot2 development team
131
+
before merge.
132
+
133
+
Finally, remember that ggplot2 is a mature package used by thousands of people.
134
+
This means that it's extremely difficult (i.e. impossible) to change any existing
135
+
functionality without breaking someone's code (or another package on CRAN).
136
+
Please don't submit pull requests that change existing behaviour. Instead,
137
+
think about how you can add a new feature in a minimally invasive way.
0 commit comments