Line 36: |
Line 36: |
| | | |
| * we prefer tabs and indentations to be 8 characters width | | * we prefer tabs and indentations to be 8 characters width |
− | * consider reading [https://www.kernel.org/doc/Documentation/process/coding-style.rst Linux kernel coding style]. | + | * CRIU mostly follows [https://www.kernel.org/doc/Documentation/process/coding-style.rst Linux kernel coding style], but we are less strict than the kernel community. |
| | | |
| Other conventions can be learned from the source code itself. In short, make sure your new code | | Other conventions can be learned from the source code itself. In short, make sure your new code |
Line 53: |
Line 53: |
| as well as run most of the tests from the suite. See https://travis-ci.org/checkpoint-restore/criu | | as well as run most of the tests from the suite. See https://travis-ci.org/checkpoint-restore/criu |
| for more details. | | for more details. |
− |
| |
− | == Make a patch ==
| |
− |
| |
− | To create a patch, run
| |
− |
| |
− | git format-patch --signoff origin/criu-dev
| |
− |
| |
− | You might need to read GIT documentation on how to prepare patches
| |
− | for mail submission. Take a look at http://book.git-scm.com/ and/or
| |
− | http://git-scm.com/documentation for details. It should not be hard
| |
− | at all.
| |
− |
| |
− | We recommend to post patches using <code>git send-email</code>
| |
− |
| |
− | git send-email --cover-letter --no-chain-reply-to --annotate \
| |
− | --confirm=always --to=criu@openvz.org criu-dev
| |
− |
| |
− | Note that the <code>git send-email</code> subcommand may not be in
| |
− | the main git package and using it may require installation of a
| |
− | separate package, for example the "git-email" package in Fedora and
| |
− | Debian.
| |
− |
| |
− | If this is your first time using git send-email, you might need to
| |
− | configure it to point it to your SMTP server with something like:
| |
− |
| |
− | git config --global sendemail.smtpServer stmp.example.net
| |
− |
| |
− | If you get tired of typing <code>--to=criu@openvz.org</code> all the time,
| |
− | you can configure that to be automatically handled as well:
| |
− |
| |
− | git config sendemail.to criu@openvz.org
| |
− |
| |
− | If a developer is sending another version of the patch (e.g. to address
| |
− | review comments), they are advised to note differences to previous versions
| |
− | after the <code>---</code> line in the patch so that it helps reviewers but
| |
− | doesn't become part of git history. Moreover, such patch needs to be prefixed
| |
− | correctly with <code>--subject-prefix=PATCHv2</code> appended to
| |
− | <code>git send-email</code> (substitute <code>v2</code> with the correct
| |
− | version if needed though).
| |
| | | |
| == Sign your work == | | == Sign your work == |
Line 156: |
Line 117: |
| </div></div> | | </div></div> |
| | | |
− | == Mail patches == | + | == Submit your work upstream == |
| + | |
| + | We accept github pull requests and this is the preferred way to contribute to CRIU. |
| + | For that you should push your work to your fork of CRIU at [https://github.com GitHub] and create a [https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests pull request] |
| + | |
| + | Historically, CRIU worked with mailing lists and patches so if you still prefer this way continue reading till the end of this section. |
| + | |
| + | === Make a patch === |
| + | |
| + | To create a patch, run |
| + | |
| + | git format-patch --signoff origin/criu-dev |
| + | |
| + | You might need to read GIT documentation on how to prepare patches |
| + | for mail submission. Take a look at http://book.git-scm.com/ and/or |
| + | http://git-scm.com/documentation for details. It should not be hard |
| + | at all. |
| + | |
| + | We recommend to post patches using <code>git send-email</code> |
| + | |
| + | git send-email --cover-letter --no-chain-reply-to --annotate \ |
| + | --confirm=always --to=criu@openvz.org criu-dev |
| + | |
| + | Note that the <code>git send-email</code> subcommand may not be in |
| + | the main git package and using it may require installation of a |
| + | separate package, for example the "git-email" package in Fedora and |
| + | Debian. |
| + | |
| + | If this is your first time using git send-email, you might need to |
| + | configure it to point it to your SMTP server with something like: |
| + | |
| + | git config --global sendemail.smtpServer stmp.example.net |
| + | |
| + | If you get tired of typing <code>--to=criu@openvz.org</code> all the time, |
| + | you can configure that to be automatically handled as well: |
| + | |
| + | git config sendemail.to criu@openvz.org |
| + | |
| + | If a developer is sending another version of the patch (e.g. to address |
| + | review comments), they are advised to note differences to previous versions |
| + | after the <code>---</code> line in the patch so that it helps reviewers but |
| + | doesn't become part of git history. Moreover, such patch needs to be prefixed |
| + | correctly with <code>--subject-prefix=PATCHv2</code> appended to |
| + | <code>git send-email</code> (substitute <code>v2</code> with the correct |
| + | version if needed though). |
| + | |
| + | === Mail patches === |
| | | |
| The patches should be sent to CRIU development mailing list, <code>criu AT openvz.org</code>. Note that you need to be subscribed first in order to post. The list web interface is available at https://openvz.org/mailman/listinfo/criu; you can also use standard mailman aliases to work with it. | | The patches should be sent to CRIU development mailing list, <code>criu AT openvz.org</code>. Note that you need to be subscribed first in order to post. The list web interface is available at https://openvz.org/mailman/listinfo/criu; you can also use standard mailman aliases to work with it. |
Line 164: |
Line 171: |
| {{Note| When sending a patch set that consists of more than one patch, please, push your changes in your local repo and provide the URL of the branch in the cover-letter}} | | {{Note| When sending a patch set that consists of more than one patch, please, push your changes in your local repo and provide the URL of the branch in the cover-letter}} |
| | | |
− | == Wait for response == | + | === Wait for response === |
| | | |
| Be patient. Most CRIU developers are pretty busy people so if | | Be patient. Most CRIU developers are pretty busy people so if |