Внесение изменений
Получение исходного кода Оформление изменений Перед отправкой Отправка изменений Лицензия |
Получение исходного кода
Для хранения исходного кода используется Mercurial. Репозиторий можно клонировать следующей командой:
hg clone http://freenginx.org/hg/nginx
Оформление изменений
Изменения должны быть оформлены согласно стилю, принятому в nginx. В случае возникновения затруднений в оформлении изучите, как оформлен исходный код nginx, и следуйте этому стилю в своём коде. Изменения скорее будут приняты, если их стиль соответствует окружающему коду.
Зафиксируйте изменения, чтобы создать набор изменений в Mercurial. Пожалуйста, убедитесь, что адрес электронной почты и настоящее имя автора изменения указаны правильно.
Сообщение фиксации должно содержать однострочное резюме и подробное описание
после пустой строки.
Желательно, чтобы первая строка была не длиннее 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;
Перед отправкой
Несколько моментов, на которые следует обратить внимание перед отправкой изменения:
- Предлагаемые изменения должны корректно работать на всех поддерживаемых платформах.
- Постарайтесь разъяснить, почему предлагаемое изменение нужно, и, если возможно, опишите вариант использования.
-
Проверка изменений при помощи специального набора тестов позволит убедиться,
что они не вызывают регрессию.
Репозиторий с тестами
можно клонировать следующей командой:
hg clone http://freenginx.org/hg/nginx-tests
Отправка изменений
Предлагаемые изменения следует отправить в список рассылки для разработчиков nginx. Предпочитаемый и удобный метод отправки наборов изменений — при помощи расширения patchbomb.
Лицензия
Отправка изменений подразумевает предоставление проекту права на их использование под соответствующей лицензией.