view xml/ru/docs/contributing_changes.xml @ 3054:0083dce686ec

Free nginx: repository links. Repositories are now under freenginx.org/hg/. Only essential repositories are preserved for now: in particular, dev examples are no longer provided, so the relevant section from the devguide was removed.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 14 Feb 2024 20:07:38 +0300
parents ae1d55e33319
children
line wrap: on
line source

<?xml version="1.0"?>

<!--
  Copyright (C) Nginx, Inc.
  -->

<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">

<article name="Внесение изменений"
         link="/ru/docs/contributing_changes.html"
         lang="ru"
         rev="5">

<section id="getting_sources" name="Получение исходного кода">

<para>
Для хранения исходного кода используется
<link url="https://www.mercurial-scm.org">Mercurial</link>.
<link url="http://freenginx.org/hg/nginx">Репозиторий</link> можно клонировать
следующей командой:
<programlisting>
hg clone http://freenginx.org/hg/nginx
</programlisting>
</para>

</section>


<section id="formatting_changes" name="Оформление изменений">

<para>
Изменения должны быть оформлены согласно
<link doc="../docs/dev/development_guide.xml" id="code_style">стилю</link>,
принятому в nginx.
В случае возникновения затруднений в оформлении
изучите, как оформлен исходный код nginx, и следуйте этому стилю в своём коде.
Изменения скорее будут приняты, если их стиль соответствует окружающему коду.
</para>

<para>
Зафиксируйте изменения, чтобы создать
<link url="https://www.mercurial-scm.org/wiki/ChangeSet">набор изменений</link>
в Mercurial.
Пожалуйста, убедитесь, что адрес
<link url="https://www.mercurial-scm.org/wiki/QuickStart#Setting_a_username">электронной
почты</link> и настоящее имя автора изменения указаны правильно.
</para>

<para>
Сообщение фиксации должно содержать однострочное резюме и подробное описание
после пустой строки.
Желательно, чтобы первая строка была не длиннее 67 символов.
Итоговый набор изменений в виде патча может быть получен с помощью команды
<literal>hg export</literal>:
<programlisting>
# HG changeset patch
# User Filipe Da Silva &lt;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;
</programlisting>
</para>

</section>


<section id="before_submitting" name="Перед отправкой">

<para>
Несколько моментов, на которые следует обратить внимание перед
отправкой изменения:
<list type="bullet">

<listitem>
Предлагаемые изменения должны корректно работать на всех
<link doc="../index.xml" id="tested_os_and_platforms">поддерживаемых
платформах</link>.
</listitem>

<listitem>
Постарайтесь разъяснить, почему предлагаемое изменение нужно, и, если возможно,
опишите вариант использования.
</listitem>

<listitem>
Проверка изменений при помощи специального набора тестов позволит убедиться,
что они не вызывают регрессию.
<link url="http://freenginx.org/hg/nginx-tests">Репозиторий</link> с тестами
можно клонировать следующей командой:
<programlisting>
hg clone http://freenginx.org/hg/nginx-tests
</programlisting>
</listitem>

</list>
</para>

</section>


<section id="submitting_changes" name="Отправка изменений">

<para>
Предлагаемые изменения следует отправить в список рассылки для
<link doc="../support.xml" id="nginx_devel">разработчиков nginx</link>.
Предпочитаемый и удобный метод отправки наборов изменений —
при помощи расширения
<link url="https://www.mercurial-scm.org/wiki/PatchbombExtension">patchbomb</link>.
</para>

</section>


<section id="license" name="Лицензия">

<para>
Отправка изменений подразумевает предоставление проекту права на их
использование под соответствующей <link url="../../LICENSE">лицензией</link>.
</para>

</section>

</article>