Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
nginx
GitHub Repository: nginx/nginx.org
Path: blob/main/xml/it/docs/contributing_changes.xml
1 views
1
<?xml version="1.0"?>
2
3
<!--
4
Copyright (C) Nginx, Inc.
5
-->
6
7
<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
8
9
<article name="Come contribuire"
10
link="/it/docs/contributing_changes.html"
11
lang="it"
12
translator="Angelo Papadia"
13
rev="1">
14
15
<section id="getting_sources" name="Ottenere i sorgenti">
16
17
<para>
18
Il codice sorgente e' gestito tramite
19
<link url="http://mercurial.selenic.com">Mercurial</link>.
20
L'<link url="http://hg.nginx.org/nginx">archivio</link> puo' essere
21
clonato con il comando:
22
<programlisting>
23
hg clone http://hg.nginx.org/nginx
24
</programlisting>
25
</para>
26
27
</section>
28
29
30
<section id="formatting_changes" name="Formattazione delle modifiche">
31
32
<para>
33
Il codice delle modifiche dovrebbe essere formattato secondo lo stile di nginx.
34
La formattazione non deve fare affidamento su caratteristiche proprie
35
dell'editor, dovrebbe invece seguire alcune regole base:
36
<list type="bullet">
37
38
<listitem>
39
la larghezza del testo non deve superare gli 80 caratteri
40
</listitem>
41
42
<listitem>
43
l'indentazione va ottenuta con blocchi di quattro spazi
44
</listitem>
45
46
<listitem>
47
non va usato il tab (tabulatore)
48
</listitem>
49
50
<listitem>
51
in un file, i diversi blocchi logici di codice vanno separati con due linee vuote
52
</listitem>
53
54
</list>
55
E' bene esaminare il codice di nginx esistente, e cercare di riprodurne lo stile
56
di formattazione nel proprio codice: e' piu' facile che una modifica sia accettata
57
se lo stile e' simile a quello del resto del codice.
58
</para>
59
60
<para>
61
L'esecuzione di un commit sulle modifiche crea un
62
<link url="http://mercurial.selenic.com/wiki/ChangeSet">changeset</link>
63
Mercurial; bisogna assicurarsi che siano corretti l'indirizzo
64
<link url="http://mercurial.selenic.com/wiki/QuickStart#Setting_a_username">e-mail</link>
65
e il nome dell'autore delle modifiche.
66
</para>
67
68
<para>
69
Il messaggio di commit dovrebbe avere una breve descrizione su riga singola
70
(preferibilmente non piu' lunga di 67 caratteri),
71
seguita da una riga vuota e da una descrizione piu' lunga.
72
Il risultante changeset puo' essere ottenuto sotto forma di patch
73
tramite il comando <literal>hg export</literal>:
74
<programlisting>
75
# HG changeset patch
76
# User Filipe Da Silva &lt;[email protected]>
77
# Date 1368089668 -7200
78
# Thu May 09 10:54:28 2013 +0200
79
# Node ID 2220de0521ca2c0b664a8ea1e201ce1cb90fd7a2
80
# Parent 822b82191940ef309cd1e6502f94d50d811252a1
81
Mail: removed surplus ngx_close_connection() call.
82
83
It is already called for a peer connection a few lines above.
84
85
diff -r 822b82191940 -r 2220de0521ca src/mail/ngx_mail_auth_http_module.c
86
--- a/src/mail/ngx_mail_auth_http_module.c Wed May 15 15:04:49 2013 +0400
87
+++ b/src/mail/ngx_mail_auth_http_module.c Thu May 09 10:54:28 2013 +0200
88
@@ -699,7 +699,6 @@ ngx_mail_auth_http_process_headers(ngx_m
89
90
p = ngx_pnalloc(s->connection->pool, ctx->err.len);
91
if (p == NULL) {
92
- ngx_close_connection(ctx->peer.connection);
93
ngx_destroy_pool(ctx->pool);
94
ngx_mail_session_internal_server_error(s);
95
return;
96
</programlisting>
97
</para>
98
99
</section>
100
101
102
<section id="before_submitting" name="Prima di proporre modifiche">
103
104
<para>
105
E' bene tenere in considerazione alcuni punti:
106
<list type="bullet">
107
108
<listitem>
109
Le modifiche proposte dovrebbero funzionare correttamente sul piu' ampio
110
numero possibile di
111
<link doc="../index.xml" id="tested_os_and_platforms">piattaforme supportate</link>.
112
</listitem>
113
114
<listitem>
115
Bisogna spiegare chiaramente perche' e' necessaria la modifica proposta,
116
e se possibile fornire un esempio.
117
</listitem>
118
119
</list>
120
</para>
121
122
</section>
123
124
125
<section id="submitting_changes" name="Proporre modifiche">
126
127
<para>
128
Le proposte di modifica vanno inviate alla mailing list degli
129
<link doc="../support.xml" id="nginx_devel">sviluppatori di nginx</link>.
130
L'estensione
131
<link url="http://mercurial.selenic.com/wiki/PatchbombExtension">patchbomb</link>
132
e' la maniera preferibile e piu' comoda di sottoporre i changeset.
133
</para>
134
135
</section>
136
137
138
<section id="license" name="Licenza">
139
140
<para>
141
Se si sottopone una proposta di modifica, automaticamente al progetto
142
viene concesso il permesso di utilizzarla in base ad una opportuna
143
<link url="../../LICENSE">licenza</link>.
144
</para>
145
146
</section>
147
148
</article>
149
150