diff options
Diffstat (limited to 'Master/xemtex/doc/ghostscript/Maintain.htm')
-rw-r--r-- | Master/xemtex/doc/ghostscript/Maintain.htm | 210 |
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 <<a +href="mailto:raph@artofcode.com">raph@artofcode.com</a>> 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 © 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> |