From 17ab38502df33d8bc29bed5cfca8bfd5dd117cbb Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood <nick@craig-wood.com> Date: Fri, 21 Sep 2018 18:17:32 +0100 Subject: [PATCH] Revamp issue and PR templates and CONTRIBUTING guide Thanks to @fd0 of the restic project for a very useful blog post and something to plagiarise :-) https://restic.net/blog/2018-09-09/GitHub-issue-templates --- .github/ISSUE_TEMPLATE.md | 31 ++++++++++++++++ .../ISSUE_TEMPLATE/Bug.md | 25 ++++++++----- .github/ISSUE_TEMPLATE/Feature.md | 36 +++++++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 29 +++++++++++++++ CONTRIBUTING.md | 29 ++++++++------- 5 files changed, 129 insertions(+), 21 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE.md rename ISSUE_TEMPLATE.md => .github/ISSUE_TEMPLATE/Bug.md (63%) create mode 100644 .github/ISSUE_TEMPLATE/Feature.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 000000000..98cf1780d --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,31 @@ +<!-- + +Welcome :-) We understand you are having a problem with rclone; we want to help you with that! + +If you've just got a question or aren't sure if you've found a bug then please use the rclone forum: + + https://forum.rclone.org/ + +instead of filing an issue for a quick response. + +If you are reporting a bug or asking for a new feature then please use one of the templates here: + + https://github.com/ncw/rclone/issues/new + +otherwise fill in the form below. + +Thank you + +The Rclone Developers + +--> + + +#### Output of `rclone version` + + + +#### Describe the issue + + + diff --git a/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE/Bug.md similarity index 63% rename from ISSUE_TEMPLATE.md rename to .github/ISSUE_TEMPLATE/Bug.md index 9336d75b3..cf17d3d7f 100644 --- a/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE/Bug.md @@ -1,14 +1,17 @@ +--- +name: Bug report +about: Report a problem with rclone +--- + <!-- -Hi! +Welcome :-) We understand you are having a problem with rclone; we want to help you with that! -We understand you are having a problem with rclone or have an idea for an improvement - we want to help you with that! - -If you've just got a question or aren't sure if you've found a bug then please use the rclone forum +If you've just got a question or aren't sure if you've found a bug then please use the rclone forum: https://forum.rclone.org/ -instead of filing an issue. We'll reply quickly and it won't increase our massive issue backlog. +instead of filing an issue for a quick response. If you think you might have found a bug, please can you try to replicate it with the latest beta? @@ -16,9 +19,7 @@ If you think you might have found a bug, please can you try to replicate it with If you can still replicate it with the latest beta, then please fill in the info below which makes our lives much easier. A log with -vv will make our day :-) -If you have an idea for an improvement, then please search the old issues first and if you don't find your idea, make a new issue. - -Thanks +Thank you The Rclone Developers @@ -27,17 +28,23 @@ The Rclone Developers #### What is the problem you are having with rclone? -#### What is your rclone version (eg output from `rclone -V`) + +#### What is your rclone version (output from `rclone version`) + #### Which OS you are using and how many bits (eg Windows 7, 64 bit) + #### Which cloud storage system are you using? (eg Google Drive) + #### The command you were trying to run (eg `rclone copy /tmp remote:tmp`) + #### A log from the command with the `-vv` flag (eg output from `rclone -vv copy /tmp remote:tmp`) + diff --git a/.github/ISSUE_TEMPLATE/Feature.md b/.github/ISSUE_TEMPLATE/Feature.md new file mode 100644 index 000000000..0a55d9de6 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/Feature.md @@ -0,0 +1,36 @@ +--- +name: Feature request +about: Suggest a new feature or enhancement for rclone +--- + +<!-- + +Welcome :-) + +So you've got an idea to improve rclone? We love that! You'll be glad to hear we've incorporated hundreds of ideas from contributors already. + +Here is a checklist of things to do: + + 1. Please search the old issues first for your idea and +1 or comment on an existing issue if possible. + 2. Discuss on the forum first: https://forum.rclone.org/ + 3. Make a feature request issue (this is the right place!). + 4. Be prepared to get involved making the feature :-) + +Looking forward to your great idea! + +The Rclone Developers + +--> + + +#### What is your current rclone version (output from `rclone version`)? + + + +#### What problem are you are trying to solve? + + + +#### How do you think rclone should be changed to solve that? + + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000..7281582f2 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,29 @@ +<!-- +Thank you very much for contributing code or documentation to rclone! Please +fill out the following questions to make it easier for us to review your +changes. + +You do not need to check all the boxes below all at once, feel free to take +your time and add more commits. If you're done and ready for review, please +check the last box. +--> + +#### What is the purpose of this change? + +<!-- +Describe the changes here +--> + +#### Was the change discussed in an issue or in the forum before? + +<!-- +Link issues and relevant forum posts here. +--> + +#### Checklist + +- [ ] I have read the [contribution guidelines](https://github.com/ncw/rclone/blob/master/CONTRIBUTING.md#submitting-a-pull-request). +- [ ] I have added tests for all changes in this PR if appropriate. +- [ ] I have added documentation for the changes if appropriate. +- [ ] All commit messages are in [house style](https://github.com/ncw/rclone/blob/master/CONTRIBUTING.md#commit-messages). +- [ ] I'm done, this Pull Request is ready for review :-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4f3a34b00..776de2c21 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -64,10 +64,11 @@ packages which you can install with Make sure you - * Add documentation for a new feature (see below for where) - * Add unit tests for a new feature + * Add [documentation](#writing-documentation) for a new feature. + * Follow the [commit message guidelines](#commit-messages). + * Add [unit tests](#testing) for a new feature * squash commits down to one per feature - * rebase to master `git rebase master` + * rebase to master with `git rebase master` When you are done with that @@ -203,14 +204,20 @@ file. ## Commit messages ## Please make the first line of your commit message a summary of the -change, and prefix it with the directory of the change followed by a -colon. The changelog gets made by looking at just these first lines -so make it good! +change that a user (not a developer) of rclone would like to read, and +prefix it with the directory of the change followed by a colon. The +changelog gets made by looking at just these first lines so make it +good! If you have more to say about the commit, then enter a blank line and carry on the description. Remember to say why the change was needed - the commit itself shows what was changed. +Writing more is better than less. Comparing the behaviour before the +change to that after the change is very useful. Imagine you are +writing to yourself in 12 months time when you've forgotten everything +about what you just did and you need to get up to speed quickly. + If the change fixes an issue then write `Fixes #1234` in the commit message. This can be on the subject line if it will fit. If you don't want to close the associated issue just put `#1234` and the @@ -258,9 +265,8 @@ To add a dependency `github.com/ncw/new_dependency` see the instructions below. These will fetch the dependency, add it to `go.mod` and `go.sum` and vendor it for older go versions. - export GO111MODULE=on - go get github.com/ncw/new_dependency - go mod vendor + GO111MODULE=on go get github.com/ncw/new_dependency + GO111MODULE=on go mod vendor You can add constraints on that package when doing `go get` (see the go docs linked above), but don't unless you really need to. @@ -275,9 +281,8 @@ in `vendor`. If you need to update a dependency then run - export GO111MODULE=on - go get -u github.com/pkg/errors - go mod vendor + GO111MODULE=on go get -u github.com/pkg/errors + GO111MODULE=on go mod vendor Check in in a single commit as above.