X-Git-Url: https://git.liburcu.org/?p=lttng-tools.git;a=blobdiff_plain;f=CONTRIBUTING.md;h=6873d78109b05927ed17de73cce8d335389b601a;hp=04f5f0da58f5ee9b965500a98a58ed8a2857b4c4;hb=HEAD;hpb=a7a3543002579da4f6fb5a7621e39e03a45c5e94 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 04f5f0da5..fbb48cd5e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -15,48 +15,44 @@ control. The upstream Git repository URL is: ## Coding standard -LTTng-tools uses the -[Linux kernel coding style](http://www.kernel.org/doc/Documentation/CodingStyle) -with one addition: single-line `if`/`for`/`while` statements must be -wrapped in braces. - -Example: - -~~~ c -/* not good */ -if (this == that) - goto fail; - -/* good */ -if (this == that) { - goto fail; -} -~~~ +See CodingStyle for guidelines style and design guidelines. -Although the LTTng-tools code base is primarily written in C, it does -contain shell, Perl, and Python code as well. There is no official coding +Although the LTTng-tools code base is primarily written in C++, it does +contain C, shell, and Python code as well. There is no official coding standard for these languages. However, using a style consistent with the rest of the code written in that language is strongly encouraged. ## Creating and sending a patch -LTTng-tools's development flow is primarily email-based, although we -also accept pull requests on our -[GitHub mirror](https://github.com/lttng/lttng-tools) and -[Gerrit Code Review](https://review.lttng.org). If you're going -to create GitHub pull requests, make sure you still follow the +LTTng-tools's development flow is primarily based on +[Gerrit Code Review](https://review.lttng.org), although we also accept +e-mail based patch series on the +[`lttng-dev` mailing list](https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev) +and pull requests on our [GitHub mirror](https://github.com/lttng/lttng-tools). +If you're going to create GitHub pull requests, make sure you still follow the guidelines below. -Like a lot of open source projects, patches are submitted and reviewed -on its development mailing list, -[`lttng-dev`](http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev) -(`lttng-dev@lists.lttng.org`). The mailing list is also used to share -and comment on RFCs and answer +The mailing list is also used to share and comment on +RFCs and answer user questions. -Once your changes have been committed to your local branch, you may use -Git's [`format-patch`](https://git-scm.com/docs/git-format-patch) command +A template commit messsage is available below, and as a file that you may +configure your local check out to use: + + git config commit.template .commit_template + +Once your changes have been comitted to your local branch, you may use the +[git-review](https://opendev.org/opendev/git-review) plugin to submit them +directly to [Gerrit](https://review.lttng.org) using the following command: + + git review + +Please note that you will need to create an account on [Gerrit](https://review.lttng.org) +and add an SSH public key. + +For e-mail based patches you may use Git's +[`format-patch`](https://git-scm.com/docs/git-format-patch) command to generate a patch file. The following command line generates a patch from the latest commit: @@ -67,10 +63,10 @@ submitting patches that apply to the LTTng-tools project. The patch's subject (the commit message's first line) should: - * begin with an uppercase letter - * be written in the present tense - * _not_ exceed 72 characters in length - * _not_ end with a period + * Begin with an uppercase letter. + * Be written in the present tense. + * _Not_ exceed 72 characters in length. + * _Not_ end with a period. In the case of bug fixes, the patch's subject must be prefixed with `Fix:` and a suitable sub-system name. For instance, a patch