Source/kwsys/CONTRIBUTING.rst
Contributing to KWSys
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.
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.
#. Run ./SetupForDevelopment.sh in new local work trees.
#. 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.
Once changes are reviewed, tested, and integrated to KWSys upstream then copies of KWSys within dependent projects can be updated to get the changes.
.. _Kitware's GitLab Instance: https://gitlab.kitware.com
.. _KWSys Repository: https://gitlab.kitware.com/utils/kwsys
We use clang-format_ version 18 to define our style for C++ code in
the KWSys source tree. See the .clang-format_ configuration file for
our style settings. Use the clang-format.bash_ script to format source
code. It automatically runs clang-format on the set of source files
for which we enforce style. The script also has options to format only
a subset of files, such as those that are locally modified.
.. _clang-format: https://clang.llvm.org/docs/ClangFormat.html
.. _.clang-format: .clang-format
.. _clang-format.bash: clang-format.bash
We do not require any formal copyright assignment or contributor license
agreement. Any contributions intentionally sent upstream are presumed
to be offered under terms of the OSI-approved BSD 3-clause License.
See Copyright.txt_ for details.
.. _Copyright.txt: Copyright.txt