annotate man/gnats/s-usage.texi @ 112:48d667d6f17f r20-1b8

Import from CVS: tag r20-1b8
author cvs
date Mon, 13 Aug 2007 09:20:48 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
112
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1 @c This is the usage section for send-pr. It is called as
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
2 @c chapter (Invoking send-pr) by send-pr.texi, and also as
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
3 @c section (Submitting Problem Reports) by gnats.texi (chapter/section
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
4 @c identifiers are adjusted accordingly)
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
5
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
6 @c FIXME! This still seems jumbled...
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
7
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
8 You can invoke @code{send-pr} from a shell prompt or from within
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
9 @sc{gnu} Emacs using @w{@samp{M-x send-pr}}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
10
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
11 @menu
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
12 * using send-pr:: Creating new Problem Reports
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
13 * send-pr in Emacs:: Using send-pr from within Emacs
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
14 * send-pr from the shell:: Invoking send-pr from the shell
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
15 * Helpful hints::
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
16 @end menu
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
17
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
18 @node using send-pr
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
19 @section Creating new Problem Reports
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
20
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
21 @c FIXME - this is a long node
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
22 Invoking @code{send-pr} presents a PR @dfn{template} with a number of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
23 fields already filled in. Complete the template as thoroughly as
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
24 possible to make a useful bug report. Submit only one bug with each PR.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
25
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
26 @cindex template
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
27 A template consists of three sections:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
28
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
29 @table @dfn
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
30 @item Comments
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
31 The top several lines of a blank template consist of a series of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
32 comments that provide some basic instructions for completing the Problem
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
33 Report, as well as a list of valid entries for the @samp{>Category:}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
34 field. These comments are all preceded by the string @samp{SEND-PR:}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
35 and are erased automatically when the PR is submitted. The
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
36 instructional comments within @samp{<} and @samp{>} are also removed.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
37 (Only these comments are removed; lines you provide that happen to have
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
38 those characters in them, such as examples of shell-level redirection,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
39 are not affected.)
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
40
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
41 @item Mail Header
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
42 @code{send-pr} creates a standard mail header. @code{send-pr} completes
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
43 all fields except the @samp{Subject:} line with default values.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
44 (@xref{Fields,,Problem Report format}.)
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
45
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
46 @item @sc{gnats} fields
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
47 These are the informational fields that @sc{gnats} uses to route your
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
48 Problem Report to the responsible party for further action. They should
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
49 be filled out as completely as possible. (@xref{Fields,,Problem Report
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
50 format}. Also see @ref{Helpful hints,,Helpful hints}.)
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
51 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
52
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
53 @ifset SENDPR
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
54 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
55 For examples of a Problem Report template and complete Problem Report,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
56 see @ref{An Example}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
57 @end ifset
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
58
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
59 The default template contains your preconfigured @samp{>Submitter-Id:}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
60 @code{send-pr} attempts to determine values for the @samp{>Originator:}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
61 and @samp{>Organization:} fields (@pxref{Fields,,Problem Report
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
62 format}). @code{send-pr} will set the @samp{>Originator:} field to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
63 the value of the @code{NAME} environment variable if it has been set;
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
64 similarly, @samp{>Organization:} will be set to the value of @code{ORGANIZATION}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
65 @code{send-pr} also attempts to find out some information
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
66 about your system and architecture, and places this information in the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
67 @samp{>Environment:} field if it finds any.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
68
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
69 You may submit problem reports to different Support Sites from the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
70 default site by specifying the alternate site when you invoke
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
71 @code{send-pr}. Each @code{site} has its own list of categories for
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
72 which it accepts Problem Reports.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
73 @c FIXME! This should go in..
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
74 @c For a list of sites to whom @code{send-pr} is configured to send
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
75 @c Problem Reports, type @w{@samp{send-pr -S}}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
76 @ifset SENDPR
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
77 (@xref{default site,,Setting a default @var{site}}.)
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
78 @end ifset
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
79
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
80 @code{send-pr} also provides the mail header section of the template
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
81 with default values in the @samp{To:}, @samp{From:}, and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
82 @samp{Reply-To:} fields. The @samp{Subject:} field is empty.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
83
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
84 The template begins with a comment section:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
85
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
86 @cindex template comment section
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
87 @cindex comment section in the PR template
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
88 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
89 @group
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
90 SEND-PR: -*- send-pr -*-
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
91 SEND-PR: Lines starting with `SEND-PR' will be removed
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
92 SEND-PR: automatically as well as all comments (the text
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
93 SEND-PR: below enclosed in `<' and `>').
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
94 SEND-PR:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
95 SEND-PR: Please consult the document `Reporting Problems
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
96 SEND-PR: Using send-pr' if you are not sure how to fill out
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
97 SEND-PR: a problem report.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
98 SEND-PR:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
99 SEND-PR: Choose from the following categories:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
100 @end group
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
101 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
102
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
103 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
104 and also contains a list of valid @code{>Category:} values for the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
105 Support Site to whom you are submitting this Problem Report. One (and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
106 only one) of these values should be placed in the @code{>Category:}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
107 field.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
108 @ifset SENDPR
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
109 A complete sample bug report, from template to completed PR, is shown in
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
110 @ref{An Example}. For a complete list of valid categories, type
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
111 @w{@samp{send-pr -L}} at your prompt. @xref{Valid Categories,,Valid
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
112 Categories}, for a sample list of categories, .
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
113 @end ifset
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
114
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
115 @c FIXME.. this sounds awkward
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
116 The mail header is just below the comment section. Fill out the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
117 @samp{Subject:} field, if it is not already completed using the value of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
118 @samp{>Synopsis:}. The other mail header fields contain default values.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
119
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
120 @cindex mail header section
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
121 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
122 @group
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
123 To: @var{support-site}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
124 Subject: @emph{complete this field}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
125 From: @var{your-login}@@@var{your-site}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
126 Reply-To: @var{your-login}@@@var{your-site}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
127 X-send-pr-version: send-pr @value{VERSION}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
128 @end group
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
129 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
130
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
131 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
132 where @var{support-site} is an alias for the Support Site you wish to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
133 submit this PR to.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
134
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
135 The rest of the template contains @sc{gnats} fields. Each field is
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
136 either automatically completed with valid information (such as your
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
137 @samp{>Submitter-Id:}) or contains a one-line instruction specifying the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
138 information that field requires in order to be correct. For example,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
139 the @samp{>Confidential:} field expects a value of @samp{yes} or
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
140 @samp{no}, and the answer must fit on one line; similarly, the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
141 @samp{>Synopsis:} field expects a short synopsis of the problem, which
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
142 must also fit on one line. Fill out the fields as completely as
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
143 possible. @xref{Helpful hints,,Helpful hints}, for suggestions as to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
144 what kinds of information to include.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
145
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
146 In this example, words in @emph{italics} are filled in with
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
147 pre-configured information:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
148
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
149 @cindex @code{send-pr} fields
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
150 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
151 @group
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
152 >Submitter-Id: @emph{your submitter-id}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
153 >Originator: @emph{your name here}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
154 >Organization:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
155 @emph{your organization}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
156 >Confidential:<[ yes | no ] (one line)>
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
157 >Synopsis: <synopsis of the problem (one line)>
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
158 >Severity: <[non-critical | serious | critical](one line)>
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
159 >Priority: <[ low | medium | high ] (one line)>
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
160 >Category: <name of the product (one line)>
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
161 >Class: <[sw-bug | doc-bug | change-request | support]>
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
162 >Release: <release number (one line)>
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
163 >Environment:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
164 <machine, os, target, libraries (multiple lines)>
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
165
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
166 >Description:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
167 <precise description of the problem (multiple lines)>
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
168 >How-To-Repeat:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
169 <code/input/activities to reproduce (multiple lines)>
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
170 >Fix:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
171 <how to correct or work around the problem, if known
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
172 (multiple lines)>
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
173 @end group
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
174 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
175
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
176 @cindex @code{Submitter-Id} field
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
177 @cindex @code{>Submitter-Id:}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
178 When you finish editing the Problem Report, @code{send-pr} mails it to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
179 the address named in the @samp{To:} field in the mail header.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
180 @code{send-pr} checks that the complete form contains a valid
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
181 @samp{>Category:}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
182
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
183 @ifset SENDPR
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
184 Your copy of @code{send-pr} should have already been customized on
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
185 installation to reflect your @samp{>Submitter-Id:}. (@xref{Installing
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
186 send-pr, , Installing @code{send-pr} on your system}.) If you don't
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
187 know your @samp{>Submitter-Id:}, you can request it using
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
188 @w{@samp{send-pr --request-id}}. If your organization is not affiliated
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
189 with the site you send Problem Reports to, a good generic
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
190 @samp{>Submitter-Id:} to use is @samp{net}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
191 @end ifset
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
192
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
193 @cindex bad Problem Reports
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
194 @cindex errors
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
195 @cindex invalid Problem Reports
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
196 If your PR has an invalid value in one of the @sc{Enumerated} fields
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
197 (@pxref{Fields,,Problem Report format}), @code{send-pr} places the PR in
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
198 a temporary file named @samp{/tmp/pbad@var{nnnn}} on your machine.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
199 @var{nnnn} is the process identification number given to your current
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
200 @code{send-pr} session. If you are running @code{send-pr} from the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
201 shell, you are prompted as to whether or not you wish to try editing the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
202 same Problem Report again. If you are running @code{send-pr} from
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
203 Emacs, the Problem Report is placed in the buffer
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
204 @w{@samp{*send-pr-error*}}; you can edit this file and then submit it
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
205 with
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
206
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
207 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
208 M-x gnats-submit-pr
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
209 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
210
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
211 @cindex subsequent mail
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
212 @cindex other mail
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
213 @cindex appending PRs
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
214 @cindex saving related mail
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
215 @cindex related mail
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
216 Any further mail concerning this Problem Report should be carbon-copied
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
217 to the @sc{gnats} mailing address as well, with the category and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
218 identification number in the @samp{Subject:} line of the message.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
219
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
220 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
221 Subject: Re: PR @var{category}/@var{gnats-id}: @var{original message subject}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
222 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
223
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
224 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
225 Messages which arrive with @samp{Subject:} lines of this form are
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
226 automatically appended to the Problem Report in the @samp{>Audit-Trail:}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
227 field in the order received.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
228
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
229 @c ---------------------------------------------------------------
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
230 @node send-pr in Emacs
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
231 @section Using @code{send-pr} from within Emacs
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
232 @cindex using @code{send-pr} from within Emacs
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
233 @cindex @code{send-pr} within Emacs
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
234 @cindex invoking @code{send-pr} from Emacs
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
235 @cindex interactive interface
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
236
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
237 You can use an interactive @code{send-pr} interface from within @sc{gnu}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
238 Emacs to fill out your Problem Report. We recommend that you
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
239 familiarize yourself with Emacs before using this feature
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
240 (@pxref{Introduction,,Introduction,emacs,GNU Emacs}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
241
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
242 Call @code{send-pr} with @w{@samp{M-x send-pr}}.@footnote{If typing
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
243 @w{@samp{M-x send-pr}} doesn't work, see your system administrator for
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
244 help loading @code{send-pr} into Emacs.} @code{send-pr} responds with a
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
245 Problem Report template preconfigured for the Support Site from which
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
246 you received @code{send-pr}. (If you use @code{send-pr} locally, the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
247 default Support Site is probably your local site.)
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
248
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
249 You may also submit problem reports to different Support Sites from the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
250 default site. To use this feature, invoke @code{send-pr} with
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
251
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
252 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
253 C-u M-x send-pr
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
254 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
255
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
256 @code{send-pr} prompts you for the name of a @var{site}. @var{site} is
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
257 an alias on your local machine which points to an alternate Support
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
258 Site.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
259
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
260 @cindex Emacs
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
261 @code{send-pr} displays the template and prompts you in the minibuffer
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
262 with the line:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
263 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
264 >Category: other
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
265 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
266
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
267 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
268 Delete the default value @samp{other} @emph{in the minibuffer} and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
269 replace it with the keyword corresponding to your problem (the list of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
270 valid categories is in the topmost section of the PR template). For
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
271 example, if the problem you wish to report has to do with the @sc{gnu} C
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
272 compiler, and your support organization accepts bugs submitted for this
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
273 program under the category @samp{gcc}, delete @samp{other} and then type
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
274 @w{@samp{gcc[@key{RET}]}}. @code{send-pr} replaces the line
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
275
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
276 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
277 >Category: <name of the product (one line)>
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
278 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
279
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
280 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
281 in the template with
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
282
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
283 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
284 >Category: gcc
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
285 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
286
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
287 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
288 and moves on to another field.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
289
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
290 @cindex completion in Emacs
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
291 @cindex name completion in Emacs
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
292 @w{@code{send-pr}} provides name completion in the minibuffer. For
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
293 instance, you can also type @w{@samp{gc[@key{TAB}]}}, and @code{send-pr}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
294 attempts to complete the entry for you. Typing @w{@samp{g[@key{TAB}]}}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
295 may not have the same effect if several possible entries begin with
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
296 @samp{g}. In that case @code{send-pr} cannot complete the entry because
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
297 it cannot determine whether you mean @samp{gcc} or, for example,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
298 @samp{gdb}, if both of those are possible categories.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
299 @w{@code{send-pr}} continues to prompt you for a valid entry until you
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
300 enter one.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
301
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
302 @w{@code{send-pr}} prompts you interactively to enter each field for
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
303 which there is a range of specific choices. If you attempt to enter a
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
304 value which is not in the range of acceptable entries, @code{send-pr}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
305 responds with @w{@samp{[No match]}} and allows you to change the entry
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
306 until it contains an acceptable value. This avoids unusable information
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
307 (at least in these fields) and also avoids typographical errors which
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
308 could cause problems later.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
309
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
310 @code{send-pr} prompts you for the following fields:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
311
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
312 @c FIXME - should these go before the discussion on completion?
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
313 @example
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
314 @group
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
315 >Category:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
316 >Confidential: (@emph{default}: no)
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
317 >Severity: (@emph{default}: serious)
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
318 >Priority: (@emph{default}: medium)
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
319 >Class: (@emph{default}: sw-bug)
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
320 >Release:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
321 >Synopsis: (@emph{this value is copied to @code{Subject:}})
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
322 @end group
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
323 @end example
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
324
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
325 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
326 After you complete these fields, @w{@code{send-pr}} places the cursor in
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
327 the @samp{>Description:} field and displays the message
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
328
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
329 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
330 To send the problem report use: C-c C-c
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
331 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
332
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
333 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
334 in the minibuffer. At this point, edit the file in the main buffer to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
335 reflect your specific problem, putting relevant information in the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
336 proper fields.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
337 @ifset SENDPR
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
338 @xref{An Example}, for a sample Problem Report.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
339 @end ifset
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
340
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
341 @w{@samp{send-pr}} provides a few key bindings to make moving
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
342 around in a template buffer more simple:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
343
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
344 @table @code
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
345 @item C-c C-f
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
346 @itemx M-x change-field
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
347 Changes the field under the cursor. @code{edit-pr} prompts you for a
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
348 new value.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
349
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
350 @item M-C-b
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
351 @itemx M-x gnats-backward-field
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
352 Moves the cursor to the beginning of the value of the current field.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
353
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
354 @item M-C-f
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
355 @itemx M-x gnats-forward-field
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
356 Moves the cursor to the end of the value of the current field.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
357
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
358 @item M-p
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
359 @itemx M-x gnats-previous-field
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
360 Moves the cursor back one field to the beginning of the value of the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
361 previous field.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
362
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
363 @item M-n
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
364 @itemx M-x gnats-next-field
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
365 Moves the cursor forward one field to the beginning of the value of the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
366 next field.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
367 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
368
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
369 @code{send-pr} takes over again when you type @samp{C-c C-c} to send the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
370 message. @code{send-pr} reports any errors in a separate buffer, which
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
371 remains in existence until you send the PR properly (or, of course,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
372 until you explicitly kill the buffer).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
373
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
374 For detailed instructions on using Emacs, see
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
375 @ref{Introduction,,,emacs,GNU Emacs}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
376
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
377 @node send-pr from the shell
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
378 @section Invoking @code{send-pr} from the shell
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
379 @cindex command line options
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
380 @cindex invoking @code{send-pr} from the shell
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
381 @cindex shell invocation
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
382
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
383 @c FIXME! Add [ -S ] right after [ -L ]...
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
384 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
385 send-pr [ @var{site} ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
386 [ -f @var{problem-report} | --file @var{problem-report} ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
387 [ -t @var{mail-address} | --to @var{mail-address} ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
388 [ --request-id ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
389 [ -L | --list ] [ -P | --print ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
390 [ -V | --version] [ -h | --help ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
391 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
392
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
393 @var{site} is an alias on your local machine which points to an address
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
394 used by a Support Site. If this argument is not present, the default
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
395 @var{site} is usually the site which you received @code{send-pr} from,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
396 or your local site if you use @sc{gnats} locally.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
397 @ifset SENDPR
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
398 (@xref{default site,,Setting a default @var{site}}.)
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
399 @end ifset
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
400
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
401 Invoking @code{send-pr} with no options calls the editor named in your
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
402 environment variable @code{EDITOR} on a default PR template. If the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
403 environment variable @code{PR_FORM} is set, its value is used as a file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
404 name which contains a valid template. If @code{PR_FORM} points to a
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
405 missing or unreadable file, or if the file is empty, @code{send-pr}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
406 generates an error message and opens the editor on a default template.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
407
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
408 @table @code
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
409 @item -f @var{problem-report}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
410 @itemx --file @var{problem-report}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
411 Specifies a file, @var{problem-report}, where a completed Problem Report
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
412 already exists. @code{send-pr} sends the contents of the file without
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
413 invoking an editor. If @var{problem-report} is @samp{-},
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
414 @w{@code{send-pr}} reads from standard input.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
415
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
416 @item -t @var{mail-address}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
417 @itemx --to @var{mail-address}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
418 Sends the PR to @var{mail-address}. The default is preset when
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
419 @code{send-pr} is configured. @emph{This option is not recommended};
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
420 instead, use the argument @var{site} on the command line.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
421
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
422 @item -c @var{mail-address}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
423 @itemx --cc @var{mail-address}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
424 Places @var{mail-address} in the @code{Cc:} header field of the message
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
425 to be sent.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
426
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
427 @item --request-id
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
428 Sends a request for a @code{>Submitter-Id:} to the Support Site.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
429
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
430 @cindex listing valid categories
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
431 @item -L
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
432 @itemx --list
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
433 Prints the list of valid @code{>Category:} values on standard output.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
434 No mail is sent.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
435
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
436 @item -s @var{severity}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
437 @itemx --severity @var{severity}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
438 @cindex @code{send-pr} fields
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
439 Sets the initial value of the @code{>Severity:} field to @var{severity}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
440
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
441 @ignore
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
442 @item -S
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
443 @itemx --sites
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
444 Displays a list of valid @var{site} values on standard output. No mail
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
445 is sent.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
446 @end ignore
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
447
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
448 @item -P
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
449 @itemx --print
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
450 Displays the PR template. If the variable @code{PR_FORM} is set in your
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
451 environment, the file it specifies is printed. If @code{PR_FORM} is not
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
452 set, @code{send-pr} prints the standard blank form. If the file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
453 specified by @code{PR_FORM} doesn't exist, @code{send-pr} displays an
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
454 error message. No mail is sent.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
455
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
456 @item -V
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
457 @itemx --version
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
458 Displays the @code{send-pr} version number and a usage summary. No mail
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
459 is sent.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
460
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
461 @item -h
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
462 @itemx --help
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
463 Displays a usage summary for @code{send-pr}. No mail is sent.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
464 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
465
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
466 @node Helpful hints
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
467 @section Helpful hints
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
468 @cindex helpful hints
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
469 @cindex Using and Porting @sc{gnu} CC
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
470 @cindex effective problem reporting
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
471 @cindex kinds of helpful information
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
472 @cindex information to submit
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
473 @cindex Report all the facts!
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
474
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
475 There is no orthodox standard for submitting effective bug reports,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
476 though you might do well to consult the section on submitting bugs for
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
477
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
478 @sc{gnu} @code{gcc} in @ref{Bugs, , Reporting Bugs, gcc, Using and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
479 Porting GNU CC}, by Richard Stallman. This section contains
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
480 instructions on what kinds of information to include and what kinds of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
481 mistakes to avoid.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
482
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
483 In general, common sense (assuming such an animal exists) dictates the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
484 kind of information that would be most helpful in tracking down and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
485 resolving problems in software.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
486 @itemize @bullet
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
487 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
488 Include anything @emph{you} would want to know if you were looking at
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
489 the report from the other end. There's no need to include every minute
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
490 detail about your environment, although anything that might be different
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
491 from someone else's environment should be included (your path, for
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
492 instance).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
493
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
494 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
495 Narratives are often useful, given a certain degree of restraint. If a
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
496 person responsible for a bug can see that A was executed, and then B and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
497 then C, knowing that sequence of events might trigger the realization of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
498 an intermediate step that was missing, or an extra step that might have
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
499 changed the environment enough to cause a visible problem. Again,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
500 restraint is always in order (``I set the build running, went to get a
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
501 cup of coffee (Columbian, cream but no sugar), talked to Sheila on the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
502 phone, and then THIS happened@dots{}'') but be sure to include anything
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
503 relevant.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
504
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
505 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
506 Richard Stallman writes, ``The fundamental principle of reporting bugs
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
507 usefully is this: @strong{report all the facts}. If you are not sure
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
508 whether to state a fact or leave it out, state it!'' This holds true
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
509 across all problem reporting systems, for computer software or social
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
510 injustice or motorcycle maintenance. It is especially important in the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
511 software field due to the major differences seemingly insignificant
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
512 changes can make (a changed variable, a missing semicolon, etc.).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
513
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
514 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
515 Submit only @emph{one} problem with each Problem Report. If you have
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
516 multiple problems, use multiple PRs. This aids in tracking each problem
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
517 and also in analyzing the problems associated with a given program.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
518
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
519 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
520 It never hurts to do a little research to find out if the bug you've
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
521 found has already been reported. Most software releases contain lists
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
522 of known bugs in the Release Notes which come with the software; see
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
523 your system administrator if you don't have a copy of these.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
524
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
525 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
526 The more closely a PR adheres to the standard format, the less
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
527 interaction is required by a database administrator to route the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
528 information to the proper place. Keep in mind that anything that
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
529 requires human interaction also requires time that might be better spent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
530 in actually fixing the problem. It is therefore in everyone's best
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
531 interest that the information contained in a PR be as correct as
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
532 possible (in both format and content) at the time of submission.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
533 @end itemize