tindex.rst - pism - [fork] customized build of PISM, the parallel ice sheet model (tillflux branch)
(HTM) git clone git://src.adamsgaard.dk/pism
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) LICENSE
---
tindex.rst (2620B)
---
1 .. include:: ../global.txt
2
3 .. default-role:: literal
4
5 .. _sec-contributing:
6
7 Contributing to PISM
8 ====================
9
10 Bug reports, contributions of code, documentation, and tests are always appreciated.
11
12 You will need a GitHub_ account and some familiarity with Git_\ [#]_.
13
14 Please see :ref:`sec-bug-reports` for bug reporting guidelines.
15
16 .. note::
17
18 By submitting code, the contributor gives irretrievable consent to the redistribution
19 and modification of the contributed source code as described in the PISM's open source
20 license.
21
22 Contributions are preferred via pull requests to |pism-github-url|.
23
24 #. `Fork PISM's repository. <github-help-fork_>`_
25 #. Create a branch that will contain your changes.
26 #. Implement proposed changes.
27
28 a. Make changes to the code or documentation (or both).
29 b. Test your changes.
30 c. Add verification or regression tests (optional but **strongly encouraged**).
31 d. Update documentation, if necessary.
32 e. Update the change log `CHANGES.rst`. If your contribution contains a bug fix,
33 please describe the bug and its effects.
34
35 #. `Create a pull request <github-pull-request-create_>`_ and make sure to `allow
36 edits from maintainers. <github-pull-request-allow-edits_>`_
37
38 Every time you push your code to GitHub_ CircleCI_ will
39
40 - build it with pedantic compiler settings, treating all compiler warnings as errors
41 - run `make test` in the build directory.
42
43 Please make sure all tests pass (you will get an e-mail if there was a failure).
44
45 If you are planning a large contribution we encourage you to open an issue at
46 |pism-issues-url| or e-mail us at |pism-email| and interact with us frequently to ensure
47 that your effort is well-directed.
48
49 When working on a large contribution it is essential to stay in touch with PISM's
50 maintainers.
51
52 We urge you to use a version control system and give PISM maintainers access to a
53 repository containing your code. We realize that your group's policy may make it
54 impossible to put the code in a public repository. However, it is very easy to set up a
55 private repository instead.
56
57 .. warning::
58
59 Working in isolation will lead to a waste of many person-hours of effort once your work
60 is ready to be merged into PISM.
61
62 See sections listed below for various technical details.
63
64 .. toctree::
65 :caption: Contents
66 :titlesonly:
67
68 bug-reporting.rst
69
70 coding_guidelines.rst
71
72 git-introduction.rst
73
74 git-branches.rst
75
76 development-workflow.rst
77
78 how-to.rst
79
80 .. rubric:: Footnotes
81
82 .. [#] Please see :ref:`sec-git-introduction` for a brief introduction and `Git
83 documentation`_ for more.