CONTRIBUTING.rst 1.73 KB
Newer Older
1 2 3
Contributing to KWSys
*********************

4 5
Patches
=======
6 7 8 9 10

KWSys is kept in its own Git repository and shared by several projects
via copies in their source trees.  Changes to KWSys should not be made
directly in a host project, except perhaps in maintenance branches.

11 12 13 14 15
KWSys uses `Kitware's GitLab Instance`_ to manage development and code review.
To contribute patches:

#. Fork the upstream `KWSys Repository`_ into a personal account.
#. Base all new work on the upstream ``master`` branch.
16
#. Run ``./SetupForDevelopment.sh`` in new local work trees.
17 18 19
#. Create commits making incremental, distinct, logically complete changes.
#. Push a topic branch to a personal repository fork on GitLab.
#. Create a GitLab Merge Request targeting the upstream ``master`` branch.
20

21 22
Once changes are reviewed, tested, and integrated to KWSys upstream then
copies of KWSys within dependent projects can be updated to get the changes.
23

24 25
.. _`Kitware's GitLab Instance`: https://gitlab.kitware.com
.. _`KWSys Repository`: https://gitlab.kitware.com/utils/kwsys
26

27 28 29 30 31 32 33 34 35 36 37 38
Code Style
==========

We use `clang-format`_ to define our style for C++ code in the KWSys source
tree.  See the `.clang-format`_ configuration file for our style settings.
Use ``clang-format`` version 3.8 or higher to format source files.
See also the `clang-format.bash`_ script.

.. _`clang-format`: http://clang.llvm.org/docs/ClangFormat.html
.. _`.clang-format`: .clang-format
.. _`clang-format.bash`: clang-format.bash

39 40 41 42 43
License
=======

We do not require any formal copyright assignment or contributor license
agreement.  Any contributions intentionally sent upstream are presumed
44
to be offered under terms of the OSI-approved BSD 3-clause License.
45 46 47
See `Copyright.txt`_ for details.

.. _`Copyright.txt`: Copyright.txt