From 3cd3d9e1f2a827d61c3c75c6e2fdcc0f54ca8baa Mon Sep 17 00:00:00 2001 From: Vern Burton Date: Wed, 7 Mar 2018 18:01:18 -0600 Subject: [PATCH 1/6] * moving CHANGELOG to markdown to get benefits of the format that it is written in * adding CONTRIBUTING and MAINTAINERS markdown file based on projects that I have worked it (discussion still open for final) * adding new files and extension to gemspec Signed-off-by: Vern Burton --- CHANGELOG => CHANGELOG.md | 0 CONTRIBUTING.md | 97 +++++++++++++++++++++++++++++++++++++++ MAINTAINERS.md | 8 ++++ git.gemspec | 4 +- 4 files changed, 108 insertions(+), 1 deletion(-) rename CHANGELOG => CHANGELOG.md (100%) create mode 100644 CONTRIBUTING.md create mode 100644 MAINTAINERS.md diff --git a/CHANGELOG b/CHANGELOG.md similarity index 100% rename from CHANGELOG rename to CHANGELOG.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..c4aa95cd --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,97 @@ +# Contributing to ruby-git + +Thank you for your interest in contributing to this project. + +These are mostly guidelines, not rules. +Use your best judgment, and feel free to propose changes to this document in a pull request. + +#### Table Of Contents + +[How Can I Contribute?](#how-can-i-contribute) + * [Submitting Issues](#submitting-issues) + * [Contribution Process](#contribution-process) + * [Code Review Process](#code-review-process) + * [Code Review Process](#code-review-process) + * [Developer Certification of Origin (DCO)](#developer-certification-of-origin) + + +## How Can I Contribute? + +### Submitting Issues + +We utilize **Github Issues** for issue tracking and contributions. You can contribute in two ways: + +1. Reporting an issue or making a feature request [here](https://github.com/ruby-git/ruby-git/issues/new). +2. Adding features or fixing bugs yourself and contributing your code to ruby-git. + +### Contribution Process + +We have a 3 step process for contributions: + +1. Commit changes to a git branch in your fork. Making sure to sign-off those changes for the [Developer Certificate of Origin](#developer-certification-of-origin-dco). +2. Create a Github Pull Request for your change, following the instructions in the pull request template. +3. Perform a [Code Review](#code-review-process) with the project maintainers on the pull request. + +### Code Review Process + +Code review takes place in Github pull requests. See [this article](https://help.github.com/articles/about-pull-requests/) if you're not familiar with Github Pull Requests. + +Once you open a pull request, project maintainers will review your code and respond to your pull request with any feedback they might have. + +The process at this point is as follows: + +1. One thumbs-up (:+1:) is required from project maintainers. See the master maintainers document for the ruby-git project at . +2. When ready, your pull request will be merged into `master`, we may require you to rebase your PR to the latest `master`. + +### Developer Certification of Origin (DCO) + +Licensing is very important to open source projects. It helps ensure the software continues to be available under the terms that the author desired. + +ruby-git uses [the MIT license](https://github.com/ruby-git/ruby-git/blob/master/LICENSE) to strike a balance between open contribution and allowing you to use the software however you would like to. + +The license tells you what rights you have that are provided by the copyright holder. It is important that the contributor fully understands what rights they are licensing and agrees to them. Sometimes the copyright holder isn't the contributor, such as when the contributor is doing work on behalf of a company. + +To make a good faith effort to ensure these criteria are met, ruby-git requires the Developer Certificate of Origin (DCO) process to be followed. + +The DCO is an attestation attached to every contribution made by every developer. + +In the commit message of the contribution, the developer simply adds a Signed-off-by statement and thereby agrees to the DCO, which you can find below or at . + +``` +Developer's Certificate of Origin 1.1 + +By making a contribution to this project, I certify that: + +(a) The contribution was created in whole or in part by me and I + have the right to submit it under the open source license + indicated in the file; or + +(b) The contribution is based upon previous work that, to the + best of my knowledge, is covered under an appropriate open + source license and I have the right under that license to + submit that work with modifications, whether created in whole + or in part by me, under the same open source license (unless + I am permitted to submit under a different license), as + Indicated in the file; or + +(c) The contribution was provided directly to me by some other + person who certified (a), (b) or (c) and I have not modified + it. + +(d) I understand and agree that this project and the contribution + are public and that a record of the contribution (including + all personal information I submit with it, including my + sign-off) is maintained indefinitely and may be redistributed + consistent with this project or the open source license(s) + involved. +``` + +#### DCO Sign-Off Methods + +The DCO requires a sign-off message in the following format appear on each commit in the pull request: + +``` +Signed-off-by: Vern Burton +``` + +The DCO text can either be manually added to your commit body, or you can add either **-s** or **--signoff** to your usual git commit commands. If you forget to add the sign-off you can also amend a previous commit with the sign-off by running **git commit --amend -s**. If you've pushed your changes to Github already you'll need to force push your branch after this with **git push -f**. \ No newline at end of file diff --git a/MAINTAINERS.md b/MAINTAINERS.md new file mode 100644 index 00000000..43b76f74 --- /dev/null +++ b/MAINTAINERS.md @@ -0,0 +1,8 @@ +# Maintainers + +When making changes to the system, this file tells you who needs to review your patch - you need at least two maintainers to provide a :+1: on your pull request. + +### Maintainers + +* [Per Lundberg](https://github.com/perlun) +* [Vern Burton](https://github.com/tarcinil) \ No newline at end of file diff --git a/git.gemspec b/git.gemspec index 5e90626e..2d11f27b 100644 --- a/git.gemspec +++ b/git.gemspec @@ -21,7 +21,9 @@ Gem::Specification.new do |s| s.rdoc_options = ['--charset=UTF-8'] s.files = [ - 'CHANGELOG', + 'CHANGELOG.md', + 'CONTRIBUTING.md', + 'MAINTAINERS.md', 'LICENSE', 'README.md', 'VERSION', From 8f21f44206087bc9ef6a5c6c2b7ccf656828afe1 Mon Sep 17 00:00:00 2001 From: Vern Burton Date: Wed, 7 Mar 2018 18:03:23 -0600 Subject: [PATCH 2/6] fixing dco anchor Signed-off-by: Vern Burton --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c4aa95cd..21e27d44 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,7 +12,7 @@ Use your best judgment, and feel free to propose changes to this document in a p * [Contribution Process](#contribution-process) * [Code Review Process](#code-review-process) * [Code Review Process](#code-review-process) - * [Developer Certification of Origin (DCO)](#developer-certification-of-origin) + * [Developer Certification of Origin (DCO)](#developer-certification-of-origin-dco) ## How Can I Contribute? From 246c8ee20c3f09af33e2069d15c2c88e08d6b506 Mon Sep 17 00:00:00 2001 From: Vern Burton Date: Wed, 7 Mar 2018 18:09:50 -0600 Subject: [PATCH 3/6] using markdown formats Signed-off-by: Vern Burton --- CHANGELOG.md | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 78dff72c..5f780d64 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,15 @@ -== 1.3.0 +# Change Log + +## 1.3.0 * Dropping Ruby 1.8.x support -== 1.2.10 +## 1.2.10 * Adding Git::Diff.name_status * Checking and fixing encoding on commands output to prevent encoding errors afterwards -== 1.2.9 +## 1.2.9 * Adding Git.configure (to configure the git env) * Adding Git.ls_remote [Git.ls_remote(repo_path_or_url='.')] @@ -27,13 +29,13 @@ * Git.fetch - supporting --prune * Git.tag - supporting -== 1.2.8 +## 1.2.8 * Keeping the old escape format for windows users * revparse: Supporting ref names containing SHA like substrings (40-hex strings) * Fix warnings on Ruby 2.1.2 -== 1.2.7 +## 1.2.7 * Fixing mesages encoding * Fixing -f flag in git push @@ -45,7 +47,7 @@ * Git.add_tag options - supporting -a, -m and -s * Added Git.delete_tag -== 1.2.6 +## 1.2.6 * Ruby 1.9.X/2.0 fully supported * JRuby 1.8/1.9 support @@ -61,12 +63,12 @@ * Travis configuration * Licence included with the gem -== 1.0.4 +## 1.0.4 * added camping/gitweb.rb frontend * added a number of speed-ups -== 1.0.3 +## 1.0.3 * Sped up most of the operations * Added some predicate functions (commit?, tree?, etc) @@ -74,11 +76,11 @@ * Fixed a bug with using bare repositories * Updated a good amount of the documentation -== 1.0.2 +## 1.0.2 * Added methods to the git objects that might be helpful -== 1.0.1 +## 1.0.1 * Initial version From 6dcf2fc7a58c6d2af67d9c33f720397317ee75e3 Mon Sep 17 00:00:00 2001 From: Vern Burton Date: Wed, 7 Mar 2018 18:27:44 -0600 Subject: [PATCH 4/6] adding pull request requirements and license information Signed-off-by: Vern Burton --- CONTRIBUTING.md | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 21e27d44..b54abc78 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,7 +10,7 @@ Use your best judgment, and feel free to propose changes to this document in a p [How Can I Contribute?](#how-can-i-contribute) * [Submitting Issues](#submitting-issues) * [Contribution Process](#contribution-process) - * [Code Review Process](#code-review-process) + * [Pull Request Requirements](#pull-request-requirements) * [Code Review Process](#code-review-process) * [Developer Certification of Origin (DCO)](#developer-certification-of-origin-dco) @@ -32,6 +32,13 @@ We have a 3 step process for contributions: 2. Create a Github Pull Request for your change, following the instructions in the pull request template. 3. Perform a [Code Review](#code-review-process) with the project maintainers on the pull request. +### Pull Request Requirements +In order to ensure high quality, we require that all pull requests to this project meet these specifications: + +1. Unit Testing: We require all the new code to include unit tests, and any fixes to pass previous units. +2. Green CI Tests: We are using [Travis CI](https://travis-ci.org/ruby-git/ruby-git) to run unit tests on various ruby versions, we expect them to all pass before a pull request will be merged. +3. Up-to-date Documentation: New methods as well as updated methods should have [YARD](https://yardoc.org/) documentation added to them + ### Code Review Process Code review takes place in Github pull requests. See [this article](https://help.github.com/articles/about-pull-requests/) if you're not familiar with Github Pull Requests. @@ -47,9 +54,9 @@ The process at this point is as follows: Licensing is very important to open source projects. It helps ensure the software continues to be available under the terms that the author desired. -ruby-git uses [the MIT license](https://github.com/ruby-git/ruby-git/blob/master/LICENSE) to strike a balance between open contribution and allowing you to use the software however you would like to. +ruby-git uses [the MIT license](https://github.com/ruby-git/ruby-git/blob/master/LICENSE) -The license tells you what rights you have that are provided by the copyright holder. It is important that the contributor fully understands what rights they are licensing and agrees to them. Sometimes the copyright holder isn't the contributor, such as when the contributor is doing work on behalf of a company. +Detail about the LICENSE can be found [here](https://choosealicense.com/licenses/mit/) To make a good faith effort to ensure these criteria are met, ruby-git requires the Developer Certificate of Origin (DCO) process to be followed. @@ -85,13 +92,3 @@ By making a contribution to this project, I certify that: consistent with this project or the open source license(s) involved. ``` - -#### DCO Sign-Off Methods - -The DCO requires a sign-off message in the following format appear on each commit in the pull request: - -``` -Signed-off-by: Vern Burton -``` - -The DCO text can either be manually added to your commit body, or you can add either **-s** or **--signoff** to your usual git commit commands. If you forget to add the sign-off you can also amend a previous commit with the sign-off by running **git commit --amend -s**. If you've pushed your changes to Github already you'll need to force push your branch after this with **git push -f**. \ No newline at end of file From 02d9a59f5df6ac7d2f4f6e62aa4ae36e3cdd55d4 Mon Sep 17 00:00:00 2001 From: Vern Burton Date: Wed, 7 Mar 2018 18:37:28 -0600 Subject: [PATCH 5/6] adding github templates for issues/pull requests Signed-off-by: Vern Burton --- ISSUE_TEMPLATE.md | 15 +++++++++++++++ PULL_REQUEST_TEMPLATE.md | 9 +++++++++ 2 files changed, 24 insertions(+) create mode 100644 ISSUE_TEMPLATE.md create mode 100644 PULL_REQUEST_TEMPLATE.md diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md new file mode 100644 index 00000000..dd4fc23c --- /dev/null +++ b/ISSUE_TEMPLATE.md @@ -0,0 +1,15 @@ +### Subject of the issue +Describe your issue here. + +### Your environment +* version of git and ruby-git +* version of ruby + +### Steps to reproduce +Tell us how to reproduce this issue. + +### Expected behaviour +What did you expect to happen? + +### Actual behaviour +What actually happened? \ No newline at end of file diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..f3ac3a87 --- /dev/null +++ b/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,9 @@ +### Your checklist for this pull request +🚨Please review the [guidelines for contributing](../CONTRIBUTING.md) to this repository. + +- [ ] Ensure all commits include +- [ ] Ensure that your contributions pass unit testing. +- [ ] Ensure that your contributions contain documentation if applicable. + +### Description +Please describe your pull request. From 5e9d79e234eab6e59eee685db41bc7a180d8aa2c Mon Sep 17 00:00:00 2001 From: Vern Burton Date: Wed, 4 Apr 2018 20:34:16 -0500 Subject: [PATCH 6/6] fixing comments to PR * updating Github to GitHub * completing sentence for DCO signoff Signed-off-by: Vern Burton --- CONTRIBUTING.md | 6 +++--- PULL_REQUEST_TEMPLATE.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b54abc78..5b97cdca 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,7 +19,7 @@ Use your best judgment, and feel free to propose changes to this document in a p ### Submitting Issues -We utilize **Github Issues** for issue tracking and contributions. You can contribute in two ways: +We utilize **GitHub Issues** for issue tracking and contributions. You can contribute in two ways: 1. Reporting an issue or making a feature request [here](https://github.com/ruby-git/ruby-git/issues/new). 2. Adding features or fixing bugs yourself and contributing your code to ruby-git. @@ -29,7 +29,7 @@ We utilize **Github Issues** for issue tracking and contributions. You can contr We have a 3 step process for contributions: 1. Commit changes to a git branch in your fork. Making sure to sign-off those changes for the [Developer Certificate of Origin](#developer-certification-of-origin-dco). -2. Create a Github Pull Request for your change, following the instructions in the pull request template. +2. Create a GitHub Pull Request for your change, following the instructions in the pull request template. 3. Perform a [Code Review](#code-review-process) with the project maintainers on the pull request. ### Pull Request Requirements @@ -41,7 +41,7 @@ In order to ensure high quality, we require that all pull requests to this proje ### Code Review Process -Code review takes place in Github pull requests. See [this article](https://help.github.com/articles/about-pull-requests/) if you're not familiar with Github Pull Requests. +Code review takes place in GitHub pull requests. See [this article](https://help.github.com/articles/about-pull-requests/) if you're not familiar with GitHub Pull Requests. Once you open a pull request, project maintainers will review your code and respond to your pull request with any feedback they might have. diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md index f3ac3a87..29510619 100644 --- a/PULL_REQUEST_TEMPLATE.md +++ b/PULL_REQUEST_TEMPLATE.md @@ -1,7 +1,7 @@ ### Your checklist for this pull request 🚨Please review the [guidelines for contributing](../CONTRIBUTING.md) to this repository. -- [ ] Ensure all commits include +- [ ] Ensure all commits include DCO sign-off. - [ ] Ensure that your contributions pass unit testing. - [ ] Ensure that your contributions contain documentation if applicable.