| 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 |