commit: 12722468eeb85e63bef3e0230ed9ffe9e85ede28 Author: Wolfgang E. Sanyer <WolfgangESanyer <AT> gmail <DOT> com> AuthorDate: Mon Sep 20 13:49:54 2021 +0000 Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org> CommitDate: Mon Sep 20 22:53:38 2021 +0000 URL: https://gitweb.gentoo.org/proj/gentoolkit.git/commit/?id=12722468
Rename README.dev to CONTRIBUTING.md. Also, add information... ...regarding how to use black for formatting code, and how to ignore formatting-only commits in git. Signed-off-by: Wolfgang E. Sanyer <WolfgangESanyer <AT> gmail.com> Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org> .gitignorerevs | 2 ++ CONTRIBUTING.md | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.dev | 55 --------------------------------------- 3 files changed, 82 insertions(+), 55 deletions(-) diff --git a/.gitignorerevs b/.gitignorerevs new file mode 100644 index 0000000..86287dd --- /dev/null +++ b/.gitignorerevs @@ -0,0 +1,2 @@ +# Run entire repository through black. Also, change tabs to spaces +bbcd72b5fe85fe9bbca1913f8aa22077d94e75d0 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..e91dac8 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,80 @@ +Contributing +============ +Gentoo Developers have full priviledges to the gentoolkit repository and +any Gentoo developer can do work on the gentoolkit source. We only ask that you +keep the following in mind: + +- If you want to do a major change (i.e rewrite/refactor something), please talk + to us before pushing any commits. If you break something, please fix it. +- All members of the Portage or Portage Tools projects are authorized to create + a new release of gentoolkit or gentoolkit-dev. +- All other Gentoo Developers are authorized to create a new release if it is + coordinated with fuzzyray and/or dolsen. +- If you create a release and it breaks, please fix it. + +Any non Gentoo developers who wish to contribute, the best way to get +started is by cloning a copy of the repository and submitting patches to +bugzilla. Additionally, we can be found in the #gentoo-portage IRC +channel. + +Formatting +========== +We use [black](https://pypi.org/project/black/) to format the code +base. Please make sure you run it against any PRs prior to submitting +(otherwise we'll probably reject it). + +There are [ways to integrate](https://black.readthedocs.io/en/stable/integrations/editors.html) +black into your text editor and/or IDE. + +You can also set up a git hook to check your commits, in case you don't want +editor integration. Something like this: + +```sh +# .git/hooks/pre-commit (don't forget to chmod +x) + +#!/bin/bash +black --check --diff . +``` + +To ignore reformatting commits (which are listed in `.gitignorerevs`) you can do +the following: + +```sh +git config blame.ignoreRevsFile .gitignorerevs +``` + +Adding or modifying code +======================== +- If you add new code, best practice is to write a test for it. +- If you're modifying code that doesn't have a test and you can write a test + for it, please do. +- Before committing your changes, run "tox" to ensure that you didn't break + tests or introduced a flake8 error. +- If flake8 raises a warning or error that you don't agree with, it's probably + better to just change your code. If you're sure you have a good reason for + doing what you're doing, you can add "# noqa" at the end of the line to + silence it. + +Creating a release +================== +Note: We are using VERSION="0.3.0" simply as an example. + +```sh +# Run Gentoolkit's test suite, make sure it passes: +# Note: requires dev-python/snakeoil +./setup.py test + +# Create a source distribution (you need to add VERSION here): +VERSION="0.3.0" ./setup.py sdist +# Transfer dist/gentoolkit-0.3.0.tar.gz to dev.gentoo.org:/space/distfiles-local +# scp dist/gentoolkit-0.3.0.tar.gz [email protected]:/space/distfiles-local + +# Clean up temporary files: +./setup.py clean -a +git status +# rm or mv any untracked files/directories + +# Create a tag for the release +git tag gentoolkit-0.3.0 +git push origin gentoolkit-0.3.0 +``` diff --git a/README.dev b/README.dev deleted file mode 100644 index e2df152..0000000 --- a/README.dev +++ /dev/null @@ -1,55 +0,0 @@ -Contributing: -============= -Gentoo Developers have full priviledges to the gentoolkit repository and -any Gentoo developer can do work on the gentoolkit source. - -We only have several requirements. If you want to do a major change (i.e -rewrite/refactor something), please talk to us before pushing any -commits. If you break something, please fix it. - -All members of the Portage or Portage Tools projects are authorized to -create a new release of gentoolkit or gentoolkit-dev. - -All other Gentoo Developers are authorized to create a new release if it is -coordinated with fuzzyray and/or dolsen. - -If you create a release and it breaks, please fix it. - -Any non Gentoo developers who wish to contribute, the best way to get -started is by cloning a copy of the repository and submitting patches to -bugzilla. Additionally, we can be found in the #gentoo-portage IRC -channel. - -Adding or modifying code: -========================= -- If you add new code, best practice is to write a test for it. -- If you're modifying code that doesn't have a test and you can write a test - for it, please do. -- Before committing your changes, run "tox" to ensure that you didn't break - tests or introduced a flake8 error. -- If flake8 raises a warning or error that you don't agree with, it's probably - better to just change your code. If you're sure you have a good reason for - doing what you're doing, you can add "# noqa" at the end of the line to - silence it. - -Creating a release: -=================== -Note: We are using VERSION="0.3.0" simply as an example. - -- Run Gentoolkit's test suite, make sure it passes: -Note: requires dev-python/snakeoil - -./setup.py test - -- Create a source distribution (you need to add VERSION here): -VERSION="0.3.0" ./setup.py sdist -Transfer dist/gentoolkit-0.3.0.tar.gz to dev.gentoo.org:/space/distfiles-local - -- Clean up temporary files: -./setup.py clean -a -git status -rm or mv any untracked files/directories - -- Create a tag for the release -git tag gentoolkit-0.3.0 -git push origin gentoolkit-0.3.0
