Contributing
============

Hacking
-------

Please refer to PEP8 [1] and PEP257 [2]. If you use Sublime Text (3) you
can use the pynote.sublime-project file with the required settings. :)


Issues
------

If something does not work as expected feel free to file a bug in my
bugtracker [3].


Pull Requests
-------------

**PLEASE DO NOT USE GITHUB PULL REQUESTS!**

The reasons for that are clearly described by Linus Torvalds here [4].
For submitting patches use git's pull-request generation module(s)
and send the files to stefan@sevenbyte.org. Alternatively open an
issue in redmine [3] and attach the patchfiles.


Example:

* Work on the develop or on a seperate feature (or what else) branch.
  Do not mess up the master branch!

* Commit your changes locally.

* Let's say you have created three commits. Do the following:
  $ git format-patch HEAD~3

* Git creates 3 patchfiles with your commit metadata. Send this files to
  stefan@sevenbyte.org or use the bugtracker and attach them. If I like
  your work I will appy the patches with git am. This ensures a very
  clean git history without any strange automatic github commits.

* Furthermore you can commit to your own repo and create a pull request
  with git request-pull.


Commit Messages
---------------

Please use git commit -s to generate a "Signed-off-by: " line. The
reasons are in [5]. Structure your commit message like the following. Write
a short summary of your work and do not forget the blank line. This ensures
that git shortlog works well (see [6]).


    Short (50 chars or less) summary of changes

    More detailed explanatory text, if necessary.  Wrap it to about 72
    characters or so.  In some contexts, the first line is treated as the
    subject of an email and the rest of the text as the body.  The blank
    line separating the summary from the body is critical (unless you omit
    the body entirely); tools like rebase can get confused if you run the
    two together.

    Further paragraphs come after blank lines.

     - Bullet points are okay, too

     - Typically a hyphen or asterisk is used for the bullet, preceded by a
       single space, with blank lines in between, but conventions vary here

    Signed-off-by: John Doe <john@doe.org>


GPG Key
-------

My GPG public key is available at pgp.mit.edu [7].


    pub   2048R/A655F324 2013-05-02 [expires: 2015-05-02]
          Key fingerprint = 4398 1A32 9497 6B9F 334B  ACBA 6D07 7CDE A655 F324
    uid                  Stefan Tatschner <stefan@sevenbyte.org>
    uid                  Stefan Tatschner <stefan.tatschner@gmail.com>
    uid                  Stefan Tatschner <stefan.tatschner@stud.th-deg.de>
    sub   2048R/2B359DD3 2013-05-02 [expires: 2015-05-02]


Links
-----

[1] http://www.python.org/dev/peps/pep-0008/
[2] http://www.python.org/dev/peps/pep-0257/
[3] http://redmine.sevenbyte.org/projects/pynote/
[4] https://github.com/torvalds/linux/pull/17#issuecomment-5654674
[5] http://gerrit.googlecode.com/svn/documentation/2.0/user-signedoffby.html
[6] http://git-scm.com/book/en/Distributed-Git-Contributing-to-a-Project#Commit-Guidelines
[7] http://pgp.mit.edu:11371/pks/lookup?op=vindex&search=0x6D077CDEA655F324
