1Contributing to KWSys 2********************* 3 4Patches 5======= 6 7KWSys is kept in its own Git repository and shared by several projects 8via copies in their source trees. Changes to KWSys should not be made 9directly in a host project, except perhaps in maintenance branches. 10 11KWSys uses `Kitware's GitLab Instance`_ to manage development and code review. 12To contribute patches: 13 14#. Fork the upstream `KWSys Repository`_ into a personal account. 15#. Base all new work on the upstream ``master`` branch. 16#. Run ``./SetupForDevelopment.sh`` in new local work trees. 17#. Create commits making incremental, distinct, logically complete changes. 18#. Push a topic branch to a personal repository fork on GitLab. 19#. Create a GitLab Merge Request targeting the upstream ``master`` branch. 20 21Once changes are reviewed, tested, and integrated to KWSys upstream then 22copies of KWSys within dependent projects can be updated to get the changes. 23 24.. _`Kitware's GitLab Instance`: https://gitlab.kitware.com 25.. _`KWSys Repository`: https://gitlab.kitware.com/utils/kwsys 26 27Code Style 28========== 29 30We use `clang-format`_ version **6.0** to define our style for C++ code in 31the KWSys source tree. See the `.clang-format`_ configuration file for 32our style settings. Use the `clang-format.bash`_ script to format source 33code. It automatically runs ``clang-format`` on the set of source files 34for which we enforce style. The script also has options to format only 35a subset of files, such as those that are locally modified. 36 37.. _`clang-format`: http://clang.llvm.org/docs/ClangFormat.html 38.. _`.clang-format`: .clang-format 39.. _`clang-format.bash`: clang-format.bash 40 41License 42======= 43 44We do not require any formal copyright assignment or contributor license 45agreement. Any contributions intentionally sent upstream are presumed 46to be offered under terms of the OSI-approved BSD 3-clause License. 47See `Copyright.txt`_ for details. 48 49.. _`Copyright.txt`: Copyright.txt 50