Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – planix.SVN – Blame – /os/branches/feature-vt/sys/src/cmd/gs/doc/Maintain.htm – Rev 2

Subversion Repositories planix.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 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>AFPL Ghostscript maintenance procedures</title>
5
<!-- $Id: Maintain.htm,v 1.50 2005/10/20 19:46:23 ray Exp $ -->
6
<link rel="stylesheet" type="text/css" href="gs.css" title="Ghostscript Style">
7
</head>
8
 
9
<body>
10
<!-- [1.0 begin visible header] ============================================ -->
11
 
12
<!-- [1.1 begin headline] ================================================== -->
13
 
14
<h1>AFPL Ghostscript maintenance procedures</h1>
15
 
16
<!-- [1.1 end headline] ==================================================== -->
17
 
18
<!-- [1.2 begin table of contents] ========================================= -->
19
 
20
<h2>Table of contents</h2>
21
 
22
<blockquote><ul>
23
<li><a href="#Introduction">Introduction</a>
24
<li><a href="#Problem_reporting">Problem reporting</a>
25
<ul>
26
<li><a href="#Uploading_test_data">Uploading test data</a>
27
</ul>
28
<li><a href="#CVS">Rules for CVS commits</a>
29
<li><a href="#Adding_or_removing_files">Adding or Removing Files</a>
30
</ul></blockquote>
31
 
32
<!-- [1.2 end table of contents] =========================================== -->
33
 
34
<!-- [1.3 begin hint] ====================================================== -->
35
 
36
<p>For other information, see the <a href="Readme.htm">Ghostscript
37
overview</a> and the instructions on how to <a href="Make.htm">build
38
Ghostscript</a>.
39
 
40
<!-- [1.3 end hint] ======================================================== -->
41
 
42
<hr>
43
 
44
<!-- [1.0 end visible header] ============================================== -->
45
 
46
<!-- [2.0 begin contents] ================================================== -->
47
 
48
<h2><a name="Introduction"></a>Introduction</h2>
49
 
50
<p>
51
This document describes various maintenance procedures associated with AFPL
52
Ghostscript.  It is only meant for developers actively working on AFPL
53
Ghostscript; some parts of it are only relevant to developers who have 
54
commit access to the source repository.
55
 
56
<hr>
57
 
58
<h2><a name="Problem_reporting"></a>Problem reporting</h2>
59
 
60
<h3><a name="#Uploading_test_data"></a>Uploading test data</h3>
61
 
62
<p>
63
If a test file can't be attached to the report in the public 
64
bug tracking system, put it in <tt>casper:/home/support/<bug number>/</tt>.
65
This is a good place to collect test files of all kinds.
66
 
67
<hr>
68
 
69
<h2><a name="CVS"></a>Rules for CVS Commits</h2>
70
 
71
<p>
72
The primary repository for Ghostscript code is
73
<a href="http://cvs.ghostscript.com" class="offsite">cvs.ghostscript.com</a>
74
This section describes a few rules intended to make life easier
75
for people working with this code base.
76
 
77
<p>
78
At any given time, there are usually two active branches: a stable
79
branch and a development branch. The development branch is HEAD, which
80
is the default when doing a checkout without a -r flag. The stable 
81
branch is tagged after the previous major release. For example:
82
GS_8_0x, GS_7_0x, GS_6_5.
83
 
84
<p>
85
A concise and useful document for working with CVS branches is Jeff
86
Semke's <a href="http://www.psc.edu/~semke/cvs_branches.html"
87
class="offsite">CVS
88
Branch and Tag Primer</a>. A
89
somewhat more detailed explanation is the <a
90
href="http://www.loria.fr/~molli/cvs/doc/cvs_5.html"
91
class="offsite">Branching and
92
merging</a> section from the CVS documentation by Pascal Molli.
93
 
94
<p>
95
For new development commits, you can basically ignore the
96
branches. Just commit to the HEAD branch. For bug fixes for the stable
97
branch, it is your responsibility to commit to both the stable branch
98
and, if appropriate, HEAD.
99
 
100
<p>
101
When modifying a number of files for a single issue, please group them
102
together as a single commit. For two separate sets of changes dealing
103
with two different issues, there should be two commits.
104
 
105
<p>
106
You should strive not to introduce any new bugs with your
107
commit. Always make sure the code compiles before committing. Test the
108
changes with several files, including the problem file in the case of
109
a bug fix, and other files that may have been affected by the
110
changes.
111
 
112
<p>
113
Always supply a descriptive log message for your commits. These log
114
messages are used to automatically generate the <a
115
href="News.htm">News.htm</a> file and History changelogs, and are also
116
crucial for navigating the change history. Please try to
117
keep the style of the descriptions similar to those in the current
118
History#.htm files.
119
 
120
<p>
121
Log messages beginning with 'Fix' are treated specially. Such messages are
122
put under the "Fixes problems" heading when the History files are
123
generated. Additionally, if the first four characters are 'Fix:' this is removed
124
(i.e., "Fix: The xyz" becomes "The xyz", but "Fixes xyz" is copied unchanged). 
125
This feature is intended for explicit bugfixes and should be avoided for 
126
enhancements or commits with long explanations.
127
 
128
<p>
129
Information about who changed what, when, and why is maintained in the
130
CVS logs. In general, a file should be a clean representation of the
131
current version rather than a history trail of how it got
132
there. Keeping old code around for reference is usually not necessary,
133
as it is stored in the CVS diffs. When necessary, use #if / #endif, or
134
descriptive conditionals such as #ifdef OLD_CMAP_TABLES. Do not
135
comment out old code. (A very few files that are distributed separate
136
from Ghostscript have a change log at the beginning, which should be
137
maintained: currently, only ansiknr.c and md5.[ch].)
138
 
139
<p>
140
Additionally, if your patch removes a feature, changes an interface or
141
otherwise creates an incompatibility with the last release, you
142
must add an entry to the "Incompatible changes" section of <tt>News.htm</tt>
143
as this information can only be generated manually.
144
This admonition applies to api changes that might
145
affect other developers as well as user issues like switch behavior.
146
Upon release, the accumulated incompatible changes will be moved to the 
147
relevant History file, and the News collection in cvs will be wiped clean 
148
for the next version.
149
 
150
<p>
151
All patches should be reviewed before being committed. Please email your
152
patch to <a
153
href="mailto:gs-code-review@ghostscript.com">gs-code-review@ghostscript.com</a>.
154
Make sure to include your commit comment and any other information
155
that would be helpful for the review. Also, please identify which
156
branches the patch is intended for. The code review list is also
157
a good place to put extensive documentation on changes (motivation and
158
associated reasoning for example) that are too verbose for the cvs
159
changelog.
160
 
161
<p>
162
If you are not an employee or consultant of Artifex or artofcode, then
163
we need a copyright assignment form so we can incorporate your
164
changes. Please email Raph Levien &lt;<a
165
href="mailto:raph@artofcode.com">raph@artofcode.com</a>&gt; and
166
include your snailmail address for a hardcopy assignment form.
167
 
168
<h2><a name="Adding_or_removing_files"></a>Adding or removing files</h2>
169
 
170
<p>
171
When adding or removing files, don't forget to invoke <b><tt>cvs
172
add</tt></b> or <b><tt>cvs rm</tt></b>.
173
 
174
<p>
175
When adding files, update the file roadmap in
176
<b><tt>doc/Develop.htm</tt></b>.
177
 
178
<p>
179
When adding or removing files other than .c or .h: If the files will be
180
used at runtime, check the install list in <b><tt>unixinst.mak</tt></b>.
181
 
182
<p>
183
When adding .c files, update the relevant <b><tt>.mak</tt></b> file
184
(usually <b><tt>devs.mak</tt></b>, <b><tt>int.mak</tt></b>, or
185
<b><tt>lib.mak</tt></b>).
186
 
187
<p>
188
When adding new documentation, add a link to <tt>doc/Readme.htm</tt> and
189
a short blurb describing the contents of the file.
190
 
191
<p>
192
When adding or changing fonts, update <b><tt>lib/Fontmap.GS</tt></b>,
193
<b><tt>fonts.mak</tt></b>, and possibly the compiled fonts in
194
<b><tt>gs.mak</tt></b> and the examples in
195
<b><tt>doc/Fonts.htm</tt></b>.
196
 
197
<p>
198
When adding .ps files, update <b><tt>doc/Psfiles.htm</tt></b>.
199
 
200
<p>
201
Likewise, you will want to delete any references for a file you
202
remove from Ghostscript.
203
 
204
<!-- [2.0 end contents] ==================================================== -->
205
 
206
<!-- [3.0 begin visible trailer] =========================================== -->
207
<hr>
208
 
209
<p>
210
<small>Copyright &copy; 2000-2002 artofcode LLC.
211
All rights reserved.</small>
212
 
213
<p>
214
This software is provided AS-IS with no warranty, either express or
215
implied.
216
 
217
This software is distributed under license and may not be copied,
218
modified or distributed except as expressly authorized under the terms
219
of the license contained in the file LICENSE in this distribution.
220
 
221
For more information about licensing, please refer to
222
http://www.ghostscript.com/licensing/. For information on
223
commercial licensing, go to http://www.artifex.com/licensing/ or
224
contact Artifex Software, Inc., 101 Lucas Valley Road #110,
225
San Rafael, CA  94903, U.S.A., +1(415)492-9861.
226
 
227
<p>
228
<small>Ghostscript version 8.53, 20 October 2005
229
 
230
<!-- [3.0 end visible trailer] ============================================= -->
231
 
232
</body>
233
</html>