Внесение изменений
| Получение исходного кода Оформление изменений Перед отправкой Отправка изменений Лицензия |
Получение исходного кода
Для хранения исходного кода используется 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.
Лицензия
Отправка изменений подразумевает предоставление проекту права на их использование под соответствующей лицензией.
