Steve Piercy
2017-06-27 7eeb5598717ec7f1523643ef9ef5a0c35847040f
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
44d930 6 Contribute](http://www.pylonsproject.org/community/how-to-contribute) and
SP 7 [Coding Style and
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
182175 28   development takes place. The default branch on GitHub.
1eea18 29 * [1.7-branch](https://github.com/Pylons/pyramid/tree/1.7-branch) - The branch
182175 30   classified as "stable" or "latest".
MM 31 * [1.6-branch](https://github.com/Pylons/pyramid/tree/1.6-branch) - The oldest
32   actively maintained and stable branch.
44d930 33
SP 34 Older branches are not actively maintained. In general, two stable branches and
35 one or two development branches are actively maintained.
3a8c85 36
SP 37 Prerequisites
38 -------------
39
40 Follow the instructions in HACKING.txt for your version or branch located in
41 the [root of the Pyramid repository](https://github.com/Pylons/pyramid/) to
42 install Pyramid and the tools needed to run its tests and build its
43 documentation.
44
45 Building documentation for a Pylons Project project
46 ---------------------------------------------------
47
48 *Note:* These instructions might not work for Windows users. Suggestions to
49 improve the process for Windows users are welcome by submitting an issue or a
50 pull request. Windows users may find it helpful to follow the guide [Installing
51 Pyramid on a Windows
52 System](http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/install.html#installing-pyramid-on-a-windows-system).
53
54 1.  Fork the repo on GitHub by clicking the [Fork] button.
55 2.  Clone your fork into a workspace on your local machine.
56
44d930 57          git clone git@github.com:<username>/pyramid.git
3a8c85 58
5660f2 59 3.  Change directories into the cloned repository
981004 60
C 61          cd pyramid
62
5660f2 63 4.  Add a git remote "upstream" for the cloned fork.
3a8c85 64
SP 65          git remote add upstream git@github.com:Pylons/pyramid.git
66
5660f2 67 5.  Create a virtual environment and set an environment variable as instructed in the
3a8c85 68     [prerequisites](https://github.com/Pylons/pyramid/blob/master/HACKING.txt#L55-L58).
SP 69
70          # Mac and Linux
71          $ export VENV=~/hack-on-pyramid/env
72
73          # Windows
74          set VENV=c:\hack-on-pyramid\env
75
5660f2 76 6.  Install `tox` into your virtual environment.
981004 77
C 78          $ $VENV/bin/pip install tox
79
5660f2 80 7.  Try to build the docs in your workspace.
3a8c85 81
981004 82          $ $VENV/bin/tox -e docs
3a8c85 83
981004 84      When the build finishes, you'll find HTML documentation rendered in
C 85      `.tox/docs/html`. An `epub` version will be in `.tox/docs/epub`. And the
86      result of the tests that are run on the documentation will be in
87      `.tox/docs/doctest`.
3a8c85 88
5660f2 89 8.  From this point forward, follow the typical [git
44d930 90     workflow](https://help.github.com/articles/what-is-a-good-git-workflow/).
981004 91     *Always* start by pulling from the upstream to get the most current changes.
3a8c85 92
SP 93          git pull upstream master
94
5660f2 95 9.  Make a branch, make changes to the docs, and rebuild them as indicated above.
3a8c85 96
5660f2 97 10.  Once you are satisfied with your changes and the documentation builds
SP 98      successfully without errors or warnings, then git commit and push them to
99      your "origin" repository on GitHub.
3a8c85 100
SP 101          git commit -m "commit message"
102          git push -u origin --all # first time only, subsequent can be just 'git push'.
103
5660f2 104 11.  Create a [pull request](https://help.github.com/articles/using-pull-requests/).
3a8c85 105
5660f2 106 12.  Repeat the process starting from Step 8.