贡献变化

获取资源

Mercurial用于 store source code。可以使用以下命令克隆repository

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

格式化更改

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

提交更改以创建 Mercurial 变更。请确保更改作者的指定e-mail地址和真实 name 是正确的。

提交消息应该有 single-line 概要,然后是空 line 后的详细描述。希望第一 line 不超过 67 个符号。可以使用hg export命令获取作为补丁的结果变更集:

# HG changeset patch
# User Filipe Da Silva <username@example.com>
# 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;

在提交之前

在提交更改之前,有几点值得考虑:

  • 拟议的修改应适用于广泛的支持的平台

  • 尽量明确为什么需要建议的更改,并尽可能提供用例。

  • 通过测试套件传递更改是确保它们不会导致回归的好方法。可以使用以下命令克隆repository with tests:

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

提交更改

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

执照

提交更改意味着授予项目在适当的执照下使用它的权限。

Updated at: 7 months ago
WebSocket 代理Table of content开发指南