summaryrefslogtreecommitdiff
path: root/Master/xemtex/doc/ghostscript/Maintain.htm
diff options
context:
space:
mode:
Diffstat (limited to 'Master/xemtex/doc/ghostscript/Maintain.htm')
-rw-r--r--Master/xemtex/doc/ghostscript/Maintain.htm210
1 files changed, 210 insertions, 0 deletions
diff --git a/Master/xemtex/doc/ghostscript/Maintain.htm b/Master/xemtex/doc/ghostscript/Maintain.htm
new file mode 100644
index 00000000000..789602bd86c
--- /dev/null
+++ b/Master/xemtex/doc/ghostscript/Maintain.htm
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<title>Ghostscript maintenance procedures</title>
+<!-- $Id: Maintain.htm,v 1.23.2.12.2.6 2003/05/17 14:39:00 giles Exp $ -->
+<link rel="stylesheet" type="text/css" href="gs.css" title="Ghostscript Style">
+</head>
+
+<body>
+<!-- [1.0 begin visible header] ============================================ -->
+
+<!-- [1.1 begin headline] ================================================== -->
+
+<h1>Ghostscript maintenance procedures</h1>
+
+<!-- [1.1 end headline] ==================================================== -->
+
+<!-- [1.2 begin table of contents] ========================================= -->
+
+<h2>Table of contents</h2>
+
+<blockquote><ul>
+<li><a href="#Introduction">Introduction</a>
+<li><a href="#CVS">Rules for CVS commits</a>
+<li><a href="#Adding_or_removing_files">Adding or Removing Files</a>
+</ul></blockquote>
+
+<!-- [1.2 end table of contents] =========================================== -->
+
+<!-- [1.3 begin hint] ====================================================== -->
+
+<p>For other information, see the <a href="Readme.htm">Ghostscript
+overview</a> and the instructions on how to <a href="Make.htm">build
+Ghostscript</a>.
+
+<!-- [1.3 end hint] ======================================================== -->
+
+<hr>
+
+<!-- [1.0 end visible header] ============================================== -->
+
+<!-- [2.0 begin contents] ================================================== -->
+
+<h2><a name="Introduction"></a>Introduction</h2>
+
+<p>
+This document describes various maintenance procedures associated with
+development version
+Ghostscript. It is only meant for developers actively working on
+Ghostscript.
+
+<hr>
+
+<h2><a name="CVS"></a>Rules for CVS Commits</h2>
+
+<p>
+This section describes a few rules intended to make life easier for people
+working with this code base.
+
+<p>
+At any given time, there are usually two active branches: a stable
+branch and a development branch. The development branch is HEAD, which
+is the default when doing a checkout without a -r flag. At the time of
+this writing (7 October 2002), the stable branch is tagged
+GS_7_0x.
+
+<p>
+A concise and useful document for working with CVS branches is Jeff
+Semke's <a href="http://www.psc.edu/~semke/cvs_branches.html"
+class="offsite">CVS
+Branch and Tag Primer</a>. A
+somewhat more detailed explanation is the <a
+href="http://www.loria.fr/~molli/cvs/doc/cvs_5.html"
+class="offsite">Branching and
+merging</a> section from the CVS documentation by Pascal Molli.
+
+<p>
+For new development commits, you can basically ignore the
+branches. Just commit to the HEAD branch. For bug fixes for the stable
+branch, it is your responsibility to commit to both the stable branch
+and, if appropriate, HEAD. Commits to HEAD are appropriate if they are
+in an area not being actively reworked, if the development version
+exhibits the same bug symptoms, and if the patch fixes these
+symptoms.
+
+<p>
+When modifying a number of files for a single issue, please group them
+together as a single commit. For two separate sets of changes dealing
+with two different issues, there should be two commits.
+
+<p>
+You should strive not to introduce any new bugs with your
+commit. Always make sure the code compiles before committing. Test the
+changes with several files, including the problem file in the case of
+a bug fix, and other files that may have been affected by the
+changes.
+
+<p>
+Always supply a descriptive log message for your commits. These log
+messages are used to automatically generate the <a
+href="News.htm">News.htm</a> file and History changelogs, and are also
+crucial for navigating CVS using the CVSweb gateway. Please try to
+keep the style of the descriptions similar to those in the current
+History#.htm files.
+
+<p>
+Log messages beginning with 'Fix' are treated specially. Such messages are
+put under the "Fixes problems" heading when the History files are
+generated. Additionally, if the first four characters are 'Fix:' this is removed
+(i.e., "Fix: The xyz" becomes "The xyz", but "Fixes xyz" is copied unchanged).
+This feature is intended for explicit bugfixes and should be avoided for
+enhancements or commits with long explanations.
+
+<p>
+Information about who changed what, when, and why is maintained in the
+CVS logs. In general, a file should be a clean representation of the
+current version rather than a history trail of how it got
+there. Keeping old code around for reference is usually not necessary,
+as it is stored in the CVS diffs. When necessary, use #if / #endif, or
+descriptive conditionals such as #ifdef OLD_CMAP_TABLES. Do not
+comment out old code. (A very few files that are distributed separate
+from Ghostscript have a change log at the beginning, which should be
+maintained: currently, only ansiknr.c and md5.[ch].)
+
+<p>
+Additionally, if your patch removes a feature, changes an interface or
+otherwise creates an incompatibility with the last release, you
+must add an entry to the "Incompatible changes" section of <tt>News.htm</tt>
+as this information can only be generated manually.
+This admonition applies to api changes that might
+affect other developers as well as user issues like switch behavior.
+Upon release, the accumulated incompatible changes will be moved to the
+relevant History file, and the News collection in cvs will be wiped clean
+for the next version.
+
+<p>
+All patches must be reviewed before being committed. Please email your
+patch to <a
+href="mailto:gs-code-review@ghostscript.com">gs-code-review@ghostscript.com</a>.
+Make sure to include your commit comment and any other information
+that would be helpful for the review. Also, please identify which
+branches the patch is intended for.
+
+<p>
+If you are not an employee or consultant of Artifex or artofcode, then
+we need a copyright assignment form so we can incorporate your
+changes. Please email Raph Levien &lt;<a
+href="mailto:raph@artofcode.com">raph@artofcode.com</a>&gt; and
+include your snailmail address for a hardcopy assignment form.
+
+<h2><a name="Adding_or_removing_files"></a>Adding or removing files</h2>
+
+<p>
+When adding or removing files, don't forget to invoke <b><tt>cvs
+add</tt></b> or <b><tt>cvs rm</tt></b>.
+
+<p>
+When adding files, update the file roadmap in
+<b><tt>doc/Develop.htm</tt></b>.
+
+<p>
+When adding or removing files other than .c or .h: If the files will be
+used at runtime, check the install list in <b><tt>unixinst.mak</tt></b>.
+
+<p>
+When adding .c files, update the relevant <b><tt>.mak</tt></b> file
+(usually <b><tt>devs.mak</tt></b>, <b><tt>int.mak</tt></b>, or
+<b><tt>lib.mak</tt></b>).
+
+<p>
+When adding new documentation, add a link to <tt>doc/Readme.htm</tt> and
+a short blurb describing the contents of the file.
+
+<p>
+When adding or changing fonts, update <b><tt>lib/Fontmap.GS</tt></b>,
+<b><tt>fonts.mak</tt></b>, and possibly the compiled fonts in
+<b><tt>gs.mak</tt></b> and the examples in
+<b><tt>doc/Fonts.htm</tt></b>.
+
+<p>
+When adding .ps files, update <b><tt>doc/Psfiles.htm</tt></b>.
+
+<p>
+Likewise, you will want to delete any references for a file you
+remove from Ghostscript.
+
+<!-- [2.0 end contents] ==================================================== -->
+
+<!-- [3.0 begin visible trailer] =========================================== -->
+<hr>
+
+<p>
+<small>Copyright &copy; 2000 artofcode LLC.
+All rights reserved.</small>
+
+<p>
+This software is provided AS-IS with no warranty, either express or
+implied.
+
+This software is distributed under license and may not be copied,
+modified or distributed except as expressly authorized under the terms
+of the license contained in the file LICENSE in this distribution.
+
+<p>
+<small>Ghostscript version 7.07, 17 May 2003
+
+<!-- [3.0 end visible trailer] ============================================= -->
+
+</body>
+</html>