Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1293 dpurdie 1
[%# Screen for the create topic form. #%]
2
 
3
[% PROCESS header.html.tmpl version = version displaymenu = 1 
4
                            closehead = 1 help = "x394.html" %]
5
 
6
[%# Display any "feedback" to the user if necessary. #%]
7
[% IF feedback != '' %]
8
    <span class="feedback">[% feedback %]</span>
9
[% END %]
10
 
11
<P>
12
 
13
<H1>Create new topic</H1>
14
 
15
<P>
16
 
17
[%# Show any topics that this topic will obsolete #%]
18
[% IF obsoleted_topics.size > 0 %]
19
<span style="obsolete-header">Topics to obsolete:</span>
20
[% FOREACH topic = obsoleted_topics %]
21
<a href="[% topic.view_url %]">[% topic.title | html_entity %]</a>[% IF ! loop.last() %],[% END %]
22
 
23
[% END %]
24
<p>
25
[% END %]
26
 
27
<FORM METHOD="post" ENCTYPE="multipart/form-data" ACCEPT-CHARSET="UTF-8">
28
<INPUT TYPE="hidden" NAME="action" VALUE="submit_new_topic" />
29
<INPUT TYPE="hidden" NAME="obsoletes" VALUE="[% obsoletes %]" />
30
 
31
[%# The topic title input field #%]
32
Topic title:
33
<FONT SIZE="-2"><a href="javascript:void(0);"
34
onmouseover="return create_window('The topic title should be a concise but \
35
informative summary of the code to be reviewed.  The title is used in the \
36
subject of sent emails, and in the topic list screen.');">(?)</a></FONT>
37
<BR/>
38
<INPUT TYPE="text" NAME="topic_title" VALUE="[% topic_title | html_entity %]" SIZE=70 MAXLENGTH=70 />
39
<P>
40
 
41
[%# The topic description input field #%]
42
Topic description:
43
<FONT SIZE="-2"><a href="javascript:void(0);"
44
onmouseover="return create_window('\
45
The topic description should contain enough information \
46
for a reviewer to understand broadly what the code change \
47
achieves. This information is sent with the new topic \
48
notification email to all reviewers.')">(?)</a></FONT>
49
<BR/>
50
<TEXTAREA NAME="topic_description" ROWS=12 COLS=70 WRAP="soft">[% topic_description | html_entity %]</TEXTAREA>
51
<P>
52
 
53
<TABLE>
54
[% IF maximum_topic_size_lines != 0 || suggested_topic_size_lines != 0 %]
55
  <TR><TD COLSPAN="3">
56
  [% IF maximum_topic_size_lines != 0 %]
57
    <EM>Topics cannot be larger than [% maximum_topic_size_lines %] lines.</EM>
58
  [% END %]
59
  [% IF suggested_topic_size_lines != 0 %]
60
    <EM>The suggested topic size limit is [% suggested_topic_size_lines %] lines.</EM>
61
  [% END %]
62
  </TD></TR>
63
[% END %]
64
[%# The topic text upload button #%]
65
<TR>
66
 <TD>Topic text upload:
67
<FONT SIZE="-2"><a href="javascript:void(0);"
68
onmouseover="return create_window('\
69
The uploaded file contains the actual text of the review. \
70
Typically, the text is the output of a command such as: \
71
<p> \
72
cvs diff -uN &gt; output.txt \
73
<p> or <p> \
74
svn diff -uN &gt; output.txt \
75
<p> or <p> \
76
diff -urN ../old-version/ . &gt; output.txt \
77
<p> \
78
Non-unidiff files, or ordinary text files can be uploaded, \
79
but will be treated simply as \'new files\'. \
80
<p> \
81
This should be left blank if you are reviewing files \
82
directly from a repository.')">(?)</a></FONT>
83
</TD>
84
 <TD COLSPAN="3"><INPUT TYPE="file" NAME="topic_file" VALUE="[% topic_file | html_entity %]" SIZE=40 MAXLENGTH=200 /></TD>
85
</TR>
86
 
87
[% IF allow_repositories != 0 %]
88
[%# The diff fetcher #%]
89
<TR>
1300 dpurdie 90
</TABLE>
91
<TABLE style="border: 1px solid rgb(180, 180, 180);">
1293 dpurdie 92
 <TD>
93
Start tag:
94
<FONT SIZE="-2"><a href="javascript:void(0);"
95
onmouseover="return create_window('\
96
Rather than uploading the topic text, if the repository \
97
supports it, the text can be fetched by querying the \
98
repository, given start and/or end tags, and a module name. \
99
The start tag, end tag, and module fields are ignored if text \
100
is uploaded.<p> \
101
If only one tag value is specified, the full contents of all \
102
files in the specified module corresponding to the entered tag \
103
will be downloaded.')">(?)</a></FONT>
1300 dpurdie 104
<FONT SIZE="-2"><A HREF="javascript:void(0);"onmouseover="return create_window('\
105
Subversion Only\: The start tag may be a repository revision number or the name of a label \
106
within the \'Modules\' \'tags\' directory. \
107
')">(hint)</a></FONT>
1293 dpurdie 108
</TD>
109
<TD>
110
<INPUT TYPE="text" NAME="start_tag" VALUE="[% start_tag | html_entity %]" SIZE=20 MAXLENGTH=150 />
111
</TD>
112
<TD>End tag: <FONT SIZE="-2"><a href="javascript:void(0);"
113
onmouseover="return create_window('\
114
Rather than uploading the topic text, if the repository \
115
supports it, the text can be fetched by querying the \
116
repository, given start and/or end tags, and a module name. \
117
The start tag, end tag, and module fields are ignored if text \
118
is uploaded. <p> \
119
If only one tag value is specified, the full contents of all \
120
files in the specified module corresponding to the entered tag \
1300 dpurdie 121
will be downloaded.')">(?)</A></FONT>
122
<FONT SIZE="-2"><A HREF="javascript:void(0);"onmouseover="return create_window('\
123
Subversion Only\: The end tag may be a repository revision number or the name of a label \
124
within the \'Modules\' \'tags\' directory. <p>If empty then the HEAD of the Module will be used. \
125
')">(hint)</a></FONT>
126
</TD>
1293 dpurdie 127
<TD>
128
<INPUT TYPE="text" NAME="end_tag" VALUE="[% end_tag  | html_entity %]" SIZE=20 MAXLENGTH=150 />
129
</TD>
130
</TR>
131
<TR>
132
<TD>&nbsp;</TD><TD>&nbsp;</TD>
133
<TD>
134
Module:
135
<FONT SIZE="-2"><A HREF="javascript:void(0);"
136
onmouseover="return create_window('\
137
This is the path to the file or module relative to the repository \
138
root that should be inspected. It is ignored if text is uploaded.')">(?)</a></FONT>
1300 dpurdie 139
<FONT SIZE="-2"><A HREF="javascript:void(0);"onmouseover="return create_window('\
140
When a Subversion Repository is selected the \'Module\' field specifies the path from \
141
the repository base to the packages development branch. ie:\'DevTools/core_devl/trunk\'. \
142
')">(hint)</a></FONT>
1293 dpurdie 143
</TD>
144
<TD>
145
<INPUT TYPE="text" NAME="module" VALUE="[% module | html_entity %]" SIZE=20 MAXLENGTH=150 />
146
</TD>
147
</TR>
148
 
149
<TR>
150
 <TD>&nbsp;</TD><TD>&nbsp;</TD>
151
[%# The default_to_head input field #%]
1300 dpurdie 152
[% IF supporting_CVS %]
153
<TD>Default to HEAD:
1293 dpurdie 154
<FONT SIZE="-2"><a href="javascript:void(0);"
155
onmouseover="return create_window('\
156
Fall back to HEAD revision if a file does not exist on either tag. \
157
This will allow diffs between a branch and the HEAD revision, without \
158
showing files not on the branch as deleted. \
159
This option affects only CVS topics currently.')">(?)</A></FONT>
160
</TD>
161
 <TD COLSPAN="3"><INPUT TYPE="checkbox" NAME="default_to_head" [% IF default_to_head %]CHECKED[% END %] /></TD>
162
</TR>
163
[% END %]
1300 dpurdie 164
[% END %]
1293 dpurdie 165
 
166
[%# The repository the review is made against #%]
167
[%# Only display the repository select if there is more than one #%]
168
[% IF repositories.size > 1 %]
169
<TR>
170
 <TD>Repository:
171
<FONT SIZE="-2"><A HREF="javascript:void(0);"
172
onmouseover="return create_window('\
173
The SCM system (eg CVS, Subversion, ClearCase) \
174
which the topic text was prepared against.  If \
175
this is correctly set, this provides the \
176
ability to view the entire contents of a file \
177
with and/or without a proposed change, which \
178
an aid in the reviewing process.')">(?)</a></FONT>
1300 dpurdie 179
<FONT SIZE="-2"><A HREF="javascript:void(0);"onmouseover="return create_window('\
180
Subversion Only\: Selects the Repository Server. The \Module\' name provides the Repository path. \
181
')">(hint)</a></FONT>
182
 
1293 dpurdie 183
</TD>
1300 dpurdie 184
 <TD COLSPAN="3">
185
       <SELECT NAME="repository">
1293 dpurdie 186
       [% FOREACH entry = repositories %]
187
          [% IF entry == default_repository %]
188
	      <OPTION SELECTED VALUE="[% entry %]">[% entry %]</OPTION>
189
	  [% ELSE %]
190
	      <OPTION VALUE="[% entry %]">[% entry %]</OPTION>
191
	  [% END %]
192
       [% END %]
193
      </SELECT>
194
 </TD>
195
</TR>
196
[% END %]
197
 
198
[% IF projects_enabled != 0 %]
199
 
200
[%# The project the review belongs to #%]
201
<TR>
1300 dpurdie 202
</TABLE>
203
<TABLE>
204
 
1293 dpurdie 205
 <TD>Project:
206
<FONT SIZE="-2"><a href="javascript:void(0);"
207
onmouseover="return create_window('\
208
Topics are associated with a specific project, which can be \
209
used as filtering criteria in the search screen.')">(?)</a></FONT>
210
</TD>
211
 <TD COLSPAN="3"><SELECT NAME="projectid">
212
       [% FOREACH project = projects %]
213
          [% IF project.id == default_projectid %]
214
	      <OPTION SELECTED VALUE="[% project.id %]">[% project.name | html_entity %]</OPTION>
215
	  [% ELSE %]
216
	      <OPTION VALUE="[% project.id %]">[% project.name | html_entity %]</OPTION>
217
	  [% END %]
218
       [% END %]
219
      </SELECT>
220
 </TD>
221
</TR>
222
 
223
[% END %]
224
 
225
[%# The bug ids input field #%]
226
[% IF bugdb_enabled != 0 %]
227
<TR>
228
 <TD>Bug IDs:
229
<FONT SIZE="-2"><a href="javascript:void(0)"
230
onmouseover="return create_window('\
231
Indicates what bug identifiers are addressed by this code change. \
232
These are space or comma separated identifiers, such as: \
233
<p> \
234
1634 \
235
<p> \
236
or \
237
<p> \
238
1534, 4625, 1243 \
239
<p> \
240
The appropriate links to the bug-tracking system will be made \
241
when the topic is viewed, for the reviewer\'s reference. \
242
<p> \
243
In addition, if integrating with Bugzilla, when the topic state \
244
is changed, a comment will be inserted automatically to the \
245
associated bugs for cross referencing.  When a bug is viewed, \
246
it can be easily determined what code fixes have been applied \
247
to it.')">(?)</a></FONT>
248
</TD>
249
 <TD COLSPAN="3"><INPUT TYPE="text" NAME="bug_ids" VALUE="[% bug_ids | html_entity %]" SIZE=30 MAXLENGTH=50 /></TD>
250
</TR>
251
[% END %]
252
 
253
[%# The email input field #%]
254
<TR>
255
 <TD>Your (Author's) email address:
256
<FONT SIZE="-2"><A HREF="javascript:void(0);"
257
onmouseover="return create_window('\
258
This is the Author\'s email address.  All comments made against a topic \
259
will be sent to this address.  The new topic notification email \
260
will also be sent to this address.')">(?)</a></FONT>
261
</TD>
262
 <TD COLSPAN="3"><INPUT TYPE="text" NAME="email" VALUE="[% email | html_entity %]" SIZE=50 MAXLENGTH=80 /></TD>
263
</TR>
264
 
265
[%# The reviewers input field #%]
266
<TR>
267
 <TD>Reviewers:
268
<FONT SIZE="-2"><a href="javascript:void(0);"
269
onmouseover="return create_window('\
270
This is a comma separated list of email addresses, which are the \
271
people who need to review this code.  When the topic is created, \
272
the new topic notification  email will be sent to these addresses.')">(?)</a></FONT>
273
</TD>
274
 <TD COLSPAN="3"><INPUT TYPE="text" NAME="reviewers" VALUE="[% reviewers | html_entity %]" SIZE=50 MAXLENGTH=1024 /></TD>
275
</TR>
276
 
277
[%# The Cc input field #%]
278
<TR>
279
 <TD>Cc: 
280
<FONT SIZE="-2"><a href="javascript:void(0);"
281
onmouseover="return create_window('\
282
This is a comma separated list of email addresses, which are \
283
not intended to be reviewers, but typically a mailing list \
284
to notify a number of people about the creation of a new topic.')">(?)</a></FONT>
285
</TD>
286
 <TD COLSPAN="3"><INPUT TYPE="text" NAME="cc" VALUE="[% cc | html_entity %]" SIZE=50 MAXLENGTH=1024 /></TD>
287
</TR>
288
</TABLE>
289
 
290
<P>
291
<INPUT TYPE="submit" NAME=".submit" VALUE="Create Topic" />
292
 
293
</FORM>
294
 
295
[% PROCESS trailer.html.tmpl %]
296
 
297
</BODY>
298
</HTML>