贡献更改

获取源代码
格式化更改
提交前
提交更改
许可证

获取源代码

Mercurial 用于存储源代码。可以通过以下命令克隆代码库

hg clone http://hg.nginx.org/nginx

格式化更改

应根据 nginx 使用的代码风格格式化更改。有时,没有明确的规则;在这种情况下,检查现有 nginx 源代码的格式化方式并模仿此风格。如果样式与周围代码相对应,则更有可能接受更改。

提交更改以创建 Mercurial 更改集。请确保指定的电子邮件地址和更改作者的真实姓名正确无误。

提交消息应有一行摘要,后跟空行后的详细说明。第一行最好不超过 67 个符号。可以使用 hg export 命令将生成的更改集作为补丁获取

# HG changeset patch
# User Filipe Da Silva <[email protected]>
# Date 1368089668 -7200
#      Thu May 09 10:54:28 2013 +0200
# Node ID 2220de0521ca2c0b664a8ea1e201ce1cb90fd7a2
# Parent  822b82191940ef309cd1e6502f94d50d811252a1
Mail: removed surplus ngx_close_connection() call.

It is already called for a peer connection a few lines above.

diff -r 822b82191940 -r 2220de0521ca src/mail/ngx_mail_auth_http_module.c
--- a/src/mail/ngx_mail_auth_http_module.c      Wed May 15 15:04:49 2013 +0400
+++ b/src/mail/ngx_mail_auth_http_module.c      Thu May 09 10:54:28 2013 +0200
@@ -699,7 +699,6 @@ ngx_mail_auth_http_process_headers(ngx_m

                     p = ngx_pnalloc(s->connection->pool, ctx->err.len);
                     if (p == NULL) {
-                        ngx_close_connection(ctx->peer.connection);
                         ngx_destroy_pool(ctx->pool);
                         ngx_mail_session_internal_server_error(s);
                         return;

提交前

在提交更改之前,值得考虑以下几点

提交更改

建议的更改应发送至nginx 开发邮件列表。提交更改集的首选且便捷的方法是使用patchbomb扩展。

许可证

提交更改意味着授予项目一项许可,允许其在适当的许可证下使用它。