Mercurial > hg > nginx-site
changeset 912:7bee6f82db95
Actually added new files for the "Contributing Changes" article.
author | Vladimir Homutov <vl@nginx.com> |
---|---|
date | Wed, 22 May 2013 18:47:31 +0400 |
parents | a5e982a394df |
children | 9a65d437da42 |
files | xml/en/docs/contributing_changes.xml xml/ru/docs/contributing_changes.xml |
diffstat | 2 files changed, 298 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xml/en/docs/contributing_changes.xml Wed May 22 18:47:31 2013 +0400 @@ -0,0 +1,150 @@ +<?xml version="1.0"?> + +<!-- + Copyright (C) Nginx, Inc. + --> + +<!DOCTYPE article SYSTEM "../../../dtd/article.dtd"> + +<article name="Contributing Changes" + link="/en/docs/contributing_changes.html" + lang="en" + rev="1"> + +<section id="getting_sources" name="Getting Sources"> + +<para> +nginx is using <link url="http://mercurial.selenic.com">Mercurial</link> +to store source code. +The <link url="http://hg.nginx.org/nginx">repository</link> can be cloned +with the following command: +<programlisting> +hg clone http://hg.nginx.org/nginx +</programlisting> +</para> + +</section> + + +<section id="formatting_changes" name="Formatting Changes"> + +<para> +Changes should be formatted according to the code style used by nginx. +Code formatting should not rely on such editor features like syntax +highlighting or automatic line breaking. +Below are some basic rules: +<list type="bullet"> + +<listitem> +maximum text width is 80 characters +</listitem> + +<listitem> +indentation is four spaces +</listitem> + +<listitem> +no tabs +</listitem> + +<listitem> +logical code blocks in a file are separated with two empty lines +</listitem> + +</list> +Examine how existing nginx sources are formatted and mimic this style +in your code. +Changes will more likely be accepted if style corresponds to the surrounding +code. +</para> + +<para> +Commit the changes to create a Mercurial +<link url="http://mercurial.selenic.com/wiki/ChangeSet">changeset</link>. +Please ensure that the specified +<link url="http://mercurial.selenic.com/wiki/QuickStart#Setting_a_username">e-mail</link> +address and real name of the change’s author are correct. +</para> + +<para> +The commit message should have a single-line synopsis followed by verbose +description after an empty line. +It is desirable that the first line is no longer than 67 symbols. +The resulting changeset as a patch can be obtained using the +<literal>hg export</literal> command: +<programlisting> +# 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; +</programlisting> +</para> + +</section> + + +<section id="before_submitting" name="Before Submitting"> + +<para> +Several points are worth to consider before submitting changes: +<list type="bullet"> + +<listitem> +The proposed changes should work properly on a wide range of +<link doc="../index.xml" id="tested_os_and_platforms">supported +platforms</link>. +</listitem> + +<listitem> +Try to make it clear why the suggested change is needed, and provide a use +case, if possible. +</listitem> + +</list> +</para> + +</section> + + +<section id="submitting_changes" name="Submitting Changes"> + +<para> +The proposed changes should be sent to the +<link doc="../support.xml" id="nginx_devel">nginx development</link> +mailing list. +The preferred and convenient method of submitting changesets +is with the +<link url="http://mercurial.selenic.com/wiki/PatchbombExtension">patchbomb</link> +extension. +</para> + +</section> + + +<section id="license" name="License"> + +<para> +Submitting changes implies granting project a permission to use it under +an appropriate <link url="../../LICENSE">license</link>. +</para> + +</section> + +</article>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xml/ru/docs/contributing_changes.xml Wed May 22 18:47:31 2013 +0400 @@ -0,0 +1,148 @@ +<?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="1"> + +<section id="getting_sources" name="Получение исходного кода"> + +<para> +nginx использует <link url="http://mercurial.selenic.com">Mercurial</link> +для хранения исходного кода. +<link url="http://hg.nginx.org/nginx">Репозиторий</link> можно клонировать +следующей командой: +<programlisting> +hg clone http://hg.nginx.org/nginx +</programlisting> +</para> + +</section> + + +<section id="formatting_changes" name="Оформление изменений"> + +<para> +Изменения должны быть оформлены согласно принятому в nginx стилю. +Оформление не должно зависеть от таких возможностей редактора как подсветка +синтаксиса или автоматический перенос строк. +Ниже приведены несколько основных правил: +<list type="bullet"> + +<listitem> +максимальная ширина текста — 80 символов +</listitem> + +<listitem> +отступ — 4 пробела +</listitem> + +<listitem> +табуляция не используется +</listitem> + +<listitem> +логические блоки кода в файле разделяются двумя пустыми строками +</listitem> + +</list> +Изучите, как оформлен исходный код nginx, и следуйте этому стилю в своём коде. +Изменения скорее будут приняты, если их стиль соответствует окружающему коду. +</para> + +<para> +Зафиксируйте изменения, чтобы создать +<link url="http://mercurial.selenic.com/wiki/ChangeSet">набор изменений</link> +в Mercurial. +Пожалуйста, убедитесь, что адрес +<link url="http://mercurial.selenic.com/wiki/QuickStart#Setting_a_username">электронной +почты</link> и настоящее имя автора изменения указаны правильно. +</para> + +<para> +Сообщение фиксации должно содержать однострочное резюме и подробное описание +после пустой строки. +Желательно, чтобы первая строка была не длиннее 67 символов. +Итоговый набор изменений в виде патча может быть получен с помощью команды +<literal>hg export</literal>: +<programlisting> +# 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; +</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> + +</list> +</para> + +</section> + + +<section id="submitting_changes" name="Отправка изменений"> + +<para> +Предлагаемые изменения следует отправить в список рассылки для +<link doc="../support.xml" id="nginx_devel">разработчиков nginx</link>. +Предпочитаемый и удобный метод отправки наборов изменений — +при помощи расширения +<link url="http://mercurial.selenic.com/wiki/PatchbombExtension">patchbomb</link>. +</para> + +</section> + + +<section id="license" name="Лицензия"> + +<para> +Отправка изменений подразумевает предоставление проекту права на их +использование под соответствующей <link url="../../LICENSE">лицензией</link>. +</para> + +</section> + +</article>