rebuild the docs
[privoxy.git] / doc / webserver / developer-manual / git.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
2 <HTML
3 ><HEAD
4 ><TITLE
5 >The Git Repository</TITLE
6 ><META
7 NAME="GENERATOR"
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
9 REL="HOME"
10 TITLE="Privoxy Developer Manual"
11 HREF="index.html"><LINK
12 REL="PREVIOUS"
13 TITLE="Introduction"
14 HREF="introduction.html"><LINK
15 REL="NEXT"
16 TITLE="Documentation Guidelines"
17 HREF="documentation.html"><LINK
18 REL="STYLESHEET"
19 TYPE="text/css"
20 HREF="../p_doc.css"><META
21 HTTP-EQUIV="Content-Type"
22 CONTENT="text/html;
23 charset=ISO-8859-1"></HEAD
24 ><BODY
25 CLASS="SECT1"
26 BGCOLOR="#EEEEEE"
27 TEXT="#000000"
28 LINK="#0000FF"
29 VLINK="#840084"
30 ALINK="#0000FF"
31 ><DIV
32 CLASS="NAVHEADER"
33 ><TABLE
34 SUMMARY="Header navigation table"
35 WIDTH="100%"
36 BORDER="0"
37 CELLPADDING="0"
38 CELLSPACING="0"
39 ><TR
40 ><TH
41 COLSPAN="3"
42 ALIGN="center"
43 >Privoxy Developer Manual</TH
44 ></TR
45 ><TR
46 ><TD
47 WIDTH="10%"
48 ALIGN="left"
49 VALIGN="bottom"
50 ><A
51 HREF="introduction.html"
52 ACCESSKEY="P"
53 >Prev</A
54 ></TD
55 ><TD
56 WIDTH="80%"
57 ALIGN="center"
58 VALIGN="bottom"
59 ></TD
60 ><TD
61 WIDTH="10%"
62 ALIGN="right"
63 VALIGN="bottom"
64 ><A
65 HREF="documentation.html"
66 ACCESSKEY="N"
67 >Next</A
68 ></TD
69 ></TR
70 ></TABLE
71 ><HR
72 ALIGN="LEFT"
73 WIDTH="100%"></DIV
74 ><DIV
75 CLASS="SECT1"
76 ><H1
77 CLASS="SECT1"
78 ><A
79 NAME="GIT"
80 >2. The Git Repository</A
81 ></H1
82 ><P
83 >      If you become part of the active development team, you will eventually
84       need write access to our holy grail, the Git repository. One of the
85       team members will need to set this up for you. Please read
86       this chapter completely before accessing via Git.
87     </P
88 ><DIV
89 CLASS="SECT2"
90 ><H2
91 CLASS="SECT2"
92 ><A
93 NAME="GITACCESS"
94 >2.1. Access to Git</A
95 ></H2
96 ><P
97 >        The project's Git repository is hosted at the
98         <A
99 HREF="https://privoxy.org/"
100 TARGET="_top"
101 >Privoxy site.</A
102 >
103         The Git repository URL is
104         <TT
105 CLASS="LITERAL"
106 >ssh://git@git.privoxy.org:23/git/privoxy.git</TT
107 >,
108         the central repository is called <TT
109 CLASS="LITERAL"
110 >privoxy</TT
111 >, and the
112         source branch is called <TT
113 CLASS="LITERAL"
114 >master</TT
115 >. Subfolders exist
116         within the project for target-dependent build and  packaging tools, each
117         including the name of the target operating system in their name (e.g.
118         Windows, OSXPackageBuilder, debian). There is a webview of the Git
119         hierarchy at
120         <A
121 HREF="https://www.privoxy.org/gitweb/?p=privoxy.git;a=tree"
122 TARGET="_top"
123 >                    https://www.privoxy.org/gitweb/?p=privoxy.git;a=tree</A
124 >,
125         which might help with visualizing how these pieces fit together.
126       </P
127 ></DIV
128 ><DIV
129 CLASS="SECT2"
130 ><H2
131 CLASS="SECT2"
132 ><A
133 NAME="GITBRANCHES"
134 >2.2. Branches</A
135 ></H2
136 ><P
137 >       Whilst the central repository contains only the master branch, developers
138        are of course free to create branches in their local repositories as they
139        develop features, fixes, or update the target-dependent tools. Only once
140        such changes are fully tested ought they be pushed back to the central
141        repository master branch.
142      </P
143 ><P
144 >      At one time there were two distinct branches: stable and unstable. The
145       more drastic changes were to be in the unstable branch. These branches
146       have now been merged to minimize time and effort of maintaining two
147       branches.
148      </P
149 ></DIV
150 ><DIV
151 CLASS="SECT2"
152 ><H2
153 CLASS="SECT2"
154 ><A
155 NAME="GITCOMMIT"
156 >2.3. Git Commit Guidelines</A
157 ></H2
158 ><P
159 >        The source tree is the heart of every software project. Every effort must
160         be made to ensure that it is readable, compilable and consistent at all
161         times.  We expect anyone with Git access to strictly
162         adhere to the following guidelines:
163       </P
164 ><P
165 >       Basic Guidelines, for all branches:
166       </P
167 ><P
168 ></P
169 ><UL
170 ><LI
171 ><P
172 >            Please don't commit even
173             a small change without testing it thoroughly first. When we're
174             close to a public release, ask a fellow developer to review your
175             changes.
176           </P
177 ></LI
178 ><LI
179 ><P
180 >            Your commit message should give a concise overview of <SPAN
181 CLASS="emphasis"
182 ><I
183 CLASS="EMPHASIS"
184 >what you
185             changed</I
186 ></SPAN
187 > (no big details) and <SPAN
188 CLASS="emphasis"
189 ><I
190 CLASS="EMPHASIS"
191 >why you changed it</I
192 ></SPAN
193 >
194             Just check previous messages for good examples.
195           </P
196 ></LI
197 ><LI
198 ><P
199 >            Don't use the same message on multiple files, unless it equally applies to
200             all those files.
201           </P
202 ></LI
203 ><LI
204 ><P
205 >            If your changes span multiple files, and the code won't recompile unless
206             all changes are committed (e.g. when changing the signature of a function),
207             then commit all files one after another, without long delays in between.
208             If necessary, prepare the commit messages in advance.
209           </P
210 ></LI
211 ><LI
212 ><P
213 >            Before changing things on Git, make sure that your changes are in line
214             with the team's general consensus on what should be done.
215           </P
216 ></LI
217 ><LI
218 ><P
219 >            Note that near a major public release, we get more cautious.
220             There is always the possibility to submit a patch to the <A
221 HREF="https://sourceforge.net/tracker/?atid=311118&#38;group_id=11118&#38;func=browse"
222 TARGET="_top"
223 >patch
224             tracker</A
225 > instead.
226           </P
227 ></LI
228 ></UL
229 ></DIV
230 ></DIV
231 ><DIV
232 CLASS="NAVFOOTER"
233 ><HR
234 ALIGN="LEFT"
235 WIDTH="100%"><TABLE
236 SUMMARY="Footer navigation table"
237 WIDTH="100%"
238 BORDER="0"
239 CELLPADDING="0"
240 CELLSPACING="0"
241 ><TR
242 ><TD
243 WIDTH="33%"
244 ALIGN="left"
245 VALIGN="top"
246 ><A
247 HREF="introduction.html"
248 ACCESSKEY="P"
249 >Prev</A
250 ></TD
251 ><TD
252 WIDTH="34%"
253 ALIGN="center"
254 VALIGN="top"
255 ><A
256 HREF="index.html"
257 ACCESSKEY="H"
258 >Home</A
259 ></TD
260 ><TD
261 WIDTH="33%"
262 ALIGN="right"
263 VALIGN="top"
264 ><A
265 HREF="documentation.html"
266 ACCESSKEY="N"
267 >Next</A
268 ></TD
269 ></TR
270 ><TR
271 ><TD
272 WIDTH="33%"
273 ALIGN="left"
274 VALIGN="top"
275 >Introduction</TD
276 ><TD
277 WIDTH="34%"
278 ALIGN="center"
279 VALIGN="top"
280 >&nbsp;</TD
281 ><TD
282 WIDTH="33%"
283 ALIGN="right"
284 VALIGN="top"
285 >Documentation Guidelines</TD
286 ></TR
287 ></TABLE
288 ></DIV
289 ></BODY
290 ></HTML
291 >