変更への貢献
ソースの取得 フォーマットの変更 サブミットの前に 変更のサブミット ライセンス |
ソースの取得
Mercurialはソースコードを保存するために使われています。repository は次のコマンドでクローンすることができます:
hg clone http://hg.nginx.org/nginx
フォーマットの変更
変更はnginxで使われているコードスタイルに応じてフォーマットされなければなりません。時には明確なルールがありません; そのような場合は既存のnginxソースがどのように形成されているかを調べ、このスタイルを真似るようにしてください。もしスタイルが周りのコードに対応しても変更はほとんど許容できるものでしょう。
Mercurialの changesetを作るために変更をコミットします。記入されたe-mailアドレスと変更の執筆者の実名は、確実に正しいものにしてください。
コミットのメッセージは一行の概要のあとに1行空白を入れて詳しい説明があるべきです。最初の行は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 は以下のコマンドでクローンすることができます:
hg clone http://hg.nginx.org/nginx-tests
サブミットの変更
提案された変更はnginx development メーリングリストに送信されなければなりません。サブミットのチェンジセットの好まれていて便利な方法は、patchbomb 拡張を使ったものです。
ライセンス
サブミットされた変更は適切なlicenseのもとでプロジェクトで使うことが許可されていることを暗に意味しています。