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
