-
Notifications
You must be signed in to change notification settings - Fork 77
Expand file tree
/
Copy pathappendix_pull_request_tutorial.Rmd
More file actions
117 lines (67 loc) · 5.24 KB
/
appendix_pull_request_tutorial.Rmd
File metadata and controls
117 lines (67 loc) · 5.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# Tutorial for Pull Request Mergers
## Check branch
PR should be submitted from a **non-master** branch.
<img src="resources/tutorial_pull_request_mergers/1.png" width="700">
<br/>
If PR was submitted from the **master** branch, you can link to this explanation of what to do to fix it:
https://edav.info/github#fixing-mistakes.
<br/>
<img src="resources/tutorial_pull_request_mergers/2.png" width="700">
<br/>
## Examine files that were added or modified
<img src="resources/tutorial_pull_request_mergers/files_changed.png" width="700">
<br/><br/>
- There should be only ONE `.Rmd` file.
- All of the additional resources should be in the `resources/<project_name>/` folder.
- There should be no other files in the root directory besides the `.Rmd` file.
## Check `.Rmd` filename
- The `.Rmd` filename should be words only and joined with underscores, no white space. (Update: It does not need to be the same as the branch name.)
- The `.Rmd` filename can only contain **lowercase letters**. (Otherwise the filenames do not sort nicely on the repo home page.)
## Check `.Rmd` file contents
- The file should **not** contain a YAML header nor a `---` line.
- The second line should be blank, followed by the author name(s).
- The first line should start with a **single hashtag `#`**, followed by a **single whitespace**, and then the title.
- There should be no additional single hashtag headers in the chapter. (If there are, new chapters will be created.)
- NEW: Other hashtag headers should **not** be followed by numbers since the hashtags will create numbered subheadings. Correct: `## Subheading`. Incorrect: `## 3. Subheading`.
- If the file contains a setup chunk in `.Rmd` file, it should **not** contain a `setup` label. (The bookdown render will fail if there are duplicate chunk labels.)
<br/>i.e. use `{r, include=FALSE}` instead of `{r setup, include=FALSE}`.
<br/>[See sample `.Rmd`](https://github.com/jtr13/cc20/blob/master/sample_project.Rmd)
- Links to internal files must contain `resources/<project_name>/` in the path, such as: ``
- The file should not contain any `install.packages()`, `write` functions, `setwd()`, or `getwd()`.
- If there's anything else that looks odd but you're not sure, assign `jtr13` to review and explain the issue.
## Request changes
If there are problems with any of the checks listed above, explain why the pull request cannot be merged and request changes by following these steps:
<img src="resources/tutorial_pull_request_mergers/check_format.png" width="700">
<img src="resources/tutorial_pull_request_mergers/request_change_lines.png" width="700">
<img src="resources/tutorial_pull_request_mergers/request_change_files.png" width="700">
<img src="resources/tutorial_pull_request_mergers/request_change_submit_review.png" width="700">
Then, add a `changes requested` label to this pull request.
Your job for this pull request is done for now. Once contributors fix their requests, review again and either move forward with the merge or explain what changes still need to be made.
<br/>
## Merge the pull request
If all is good to go, it's time to merge the pull request. There are several steps.
### Add chapter filename to `_bookdown.yml` in PR's `branch`
- To access the PR branch:
<img src="resources/tutorial_pull_request_mergers/3.png" width="700">
- Make sure you are on the PR branch by checking that the PR branch name is shown (not `master`):
<img src="resources/tutorial_pull_request_mergers/4.png" width="700">
- Open the `_bookdown.yml` file.
- NEW: **delete everything in the file beginning with `rmd_files: [` and then add the name of the new file in single quotes followed by a comma:**
<img src="resources/tutorial_pull_request_mergers/delete_most_of_bookdown_yml.png" width="700">
Why? Because it will be easier to fix the merge conflicts this way. (A better way to do this is to merge master into the PR branch *before* adding the new file but this can't be done on GitHub. If there's interest I will explain how to do this locally.)
- Save the edited version.
- Click the resolve conflicts button:
<img src="resources/tutorial_pull_request_mergers/resolve_conflicts.png" width="700">
- Cut the new filename and paste it into the proper location. Then delete the lines with `<<<<<<< xxxx`, `=======` and `>>>>>>>> master`. In short, the file should look correct when you're done. Click the "Marked as resolved" button and then the green "Commit merge" button.
### Add chapter names to `.Rmd` for every first article in each chapter (Chapter Organization)
**Only do this if you are adding the first chapter in a PART.**
For every first article of each part, add the chapter name on the top of the `.Rmd` file, then propose changes. The example is like this.
<img src="resources/tutorial_pull_request_mergers/chap_1.png" width="700">
<br/><br/>
### Merge PR and leave a comment
Now comes the final step.
**If you're not sure that you did things correctly, assign one of the PR merge leaders or @jtr13 to review before you merge the PR.**
Go back to the conversation tab of the pull requests page, for example:
https://github.com/jtr13/cc20/pull/23#issuecomment-728506101
Leave comments for congratulations 🎉 (type `:tada:`) and then click on the green button for merge.
<br/>