Steve Piercy
2017-06-16 83cef75ec3be4b1ef943cf50b3bb752173ba26f4
commit | author | age
3a8c85 1 Contributing
SP 2 ============
3
4 All projects under the Pylons Projects, including this one, follow the
5 guidelines established at [How to
d50517 6 Contribute](https://pylonsproject.org/community-how-to-contribute.html) and
44d930 7 [Coding Style and
SP 8 Standards](http://docs.pylonsproject.org/en/latest/community/codestyle.html).
3a8c85 9
SP 10 You can contribute to this project in several ways.
11
12 * [File an Issue on GitHub](https://github.com/Pylons/pyramid/issues)
13 * Fork this project and create a branch with your suggested change. When ready,
14   submit a pull request for consideration. [GitHub
15   Flow](https://guides.github.com/introduction/flow/index.html) describes the
16   workflow process and why it's a good practice. When submitting a pull
17   request, sign
44d930 18   [CONTRIBUTORS.txt](https://github.com/Pylons/pyramid/blob/master/CONTRIBUTORS.txt)
3a8c85 19   if you have not yet done so.
SP 20 * Join the IRC channel #pyramid on irc.freenode.net.
44d930 21
SP 22 Git Branches
23 ------------
24 Git branches and their purpose and status at the time of this writing are
25 listed below.
26
27 * [master](https://github.com/Pylons/pyramid/) - The branch on which further
6d42e2 28   development takes place. The default branch on GitHub.
156c7f 29 * [1.9-branch](https://github.com/Pylons/pyramid/tree/1.9-branch) - The branch
MM 30   classified as "alpha".
73b851 31 * [1.8-branch](https://github.com/Pylons/pyramid/tree/1.8-branch) - The branch
6d42e2 32   classified as "stable" or "latest".
73b851 33 * [1.7-branch](https://github.com/Pylons/pyramid/tree/1.7-branch) - The oldest
6d42e2 34   actively maintained and stable branch.
44d930 35
SP 36 Older branches are not actively maintained. In general, two stable branches and
37 one or two development branches are actively maintained.
3a8c85 38
SP 39 Prerequisites
40 -------------
41
42 Follow the instructions in HACKING.txt for your version or branch located in
43 the [root of the Pyramid repository](https://github.com/Pylons/pyramid/) to
44 install Pyramid and the tools needed to run its tests and build its
45 documentation.
46
47 Building documentation for a Pylons Project project
48 ---------------------------------------------------
49
50 *Note:* These instructions might not work for Windows users. Suggestions to
51 improve the process for Windows users are welcome by submitting an issue or a
52 pull request. Windows users may find it helpful to follow the guide [Installing
53 Pyramid on a Windows
54 System](http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/install.html#installing-pyramid-on-a-windows-system).
55
56 1.  Fork the repo on GitHub by clicking the [Fork] button.
57 2.  Clone your fork into a workspace on your local machine.
58
44d930 59          git clone git@github.com:<username>/pyramid.git
3a8c85 60
aaca33 61 3.  Change directories into the cloned repository
96a62f 62
C 63          cd pyramid
64
aaca33 65 4.  Add a git remote "upstream" for the cloned fork.
3a8c85 66
SP 67          git remote add upstream git@github.com:Pylons/pyramid.git
68
aaca33 69 5.  Create a virtual environment and set an environment variable as instructed in the
3a8c85 70     [prerequisites](https://github.com/Pylons/pyramid/blob/master/HACKING.txt#L55-L58).
SP 71
72          # Mac and Linux
73          $ export VENV=~/hack-on-pyramid/env
74
75          # Windows
76          set VENV=c:\hack-on-pyramid\env
77
aaca33 78 6.  Install `tox` into your virtual environment.
96a62f 79
C 80          $ $VENV/bin/pip install tox
81
aaca33 82 7.  Try to build the docs in your workspace.
3a8c85 83
96a62f 84          $ $VENV/bin/tox -e docs
3a8c85 85
96a62f 86      When the build finishes, you'll find HTML documentation rendered in
C 87      `.tox/docs/html`. An `epub` version will be in `.tox/docs/epub`. And the
88      result of the tests that are run on the documentation will be in
89      `.tox/docs/doctest`.
3a8c85 90
aaca33 91 8.  From this point forward, follow the typical [git
44d930 92     workflow](https://help.github.com/articles/what-is-a-good-git-workflow/).
96a62f 93     *Always* start by pulling from the upstream to get the most current changes.
3a8c85 94
SP 95          git pull upstream master
96
aaca33 97 9.  Make a branch, make changes to the docs, and rebuild them as indicated above.
3a8c85 98
aaca33 99 10.  Once you are satisfied with your changes and the documentation builds
SP 100      successfully without errors or warnings, then git commit and push them to
101      your "origin" repository on GitHub.
3a8c85 102
SP 103          git commit -m "commit message"
104          git push -u origin --all # first time only, subsequent can be just 'git push'.
105
aaca33 106 11.  Create a [pull request](https://help.github.com/articles/using-pull-requests/).
3a8c85 107
aaca33 108 12.  Repeat the process starting from Step 8.