Subversion Repositories DevTools

Rev

Rev 1306 | Blame | Compare with Previous | Last modification | View Log | RSS feed

[%# Screen for the create topic form. #%]

[% PROCESS header.html.tmpl version = version displaymenu = 1 
                            closehead = 1 help = "x394.html" %]

[%# Display any "feedback" to the user if necessary. #%]
[% IF feedback != '' %]
    <span class="feedback">[% feedback %]</span>
[% END %]

<P>

<H1>Create new topic</H1>

<P>

[%# Show any topics that this topic will obsolete #%]
[% IF obsoleted_topics.size > 0 %]
<span style="obsolete-header">Topics to obsolete:</span>
[% FOREACH topic = obsoleted_topics %]
<a href="[% topic.view_url %]">[% topic.title | html_entity %]</a>[% IF ! loop.last() %],[% END %]

[% END %]
<p>
[% END %]

<FORM METHOD="post" ENCTYPE="multipart/form-data" ACCEPT-CHARSET="UTF-8">
<INPUT TYPE="hidden" NAME="action" VALUE="submit_new_topic" />
<INPUT TYPE="hidden" NAME="obsoletes" VALUE="[% obsoletes %]" />

[%# The topic title input field #%]
Topic title:
<FONT SIZE="-2"><a href="javascript:void(0);"
onmouseover="return create_window('The topic title should be a concise but \
informative summary of the code to be reviewed.  The title is used in the \
subject of sent emails, and in the topic list screen.');">(?)</a></FONT>
<BR/>
<INPUT TYPE="text" NAME="topic_title" VALUE="[% topic_title | html_entity %]" SIZE=70 MAXLENGTH=70 />
<P>

[%# The topic description input field #%]
Topic description:
<FONT SIZE="-2"><a href="javascript:void(0);"
onmouseover="return create_window('\
The topic description should contain enough information \
for a reviewer to understand broadly what the code change \
achieves. This information is sent with the new topic \
notification email to all reviewers.')">(?)</a></FONT>
<BR/>
<TEXTAREA NAME="topic_description" ROWS=12 COLS=70 WRAP="soft">[% topic_description | html_entity %]</TEXTAREA>
<P>

<TABLE>
[% IF maximum_topic_size_lines != 0 || suggested_topic_size_lines != 0 %]
  <TR><TD COLSPAN="3">
  [% IF maximum_topic_size_lines != 0 %]
    <EM>Topics cannot be larger than [% maximum_topic_size_lines %] lines.</EM>
  [% END %]
  [% IF suggested_topic_size_lines != 0 %]
    <EM>The suggested topic size limit is [% suggested_topic_size_lines %] lines.</EM>
  [% END %]
  </TD></TR>
[% END %]
[%# The topic text upload button #%]
<TR>
<TD>Topic text upload:
<FONT SIZE="-2"><a href="javascript:void(0);"
onmouseover="return create_window('\
The uploaded file contains the actual text of the review. \
Typically, the text is the output of a command such as: \
<p> \
cvs diff -uN &gt; output.txt \
<p> or <p> \
svn diff -uN &gt; output.txt \
<p> or <p> \
diff -urN ../old-version/ . &gt; output.txt \
<p> \
Non-unidiff files, or ordinary text files can be uploaded, \
but will be treated simply as \'new files\'. \
<p> \
This should be left blank if you are reviewing files \
directly from a repository.')">(?)</a></FONT>
</TD>
 <TD COLSPAN="3"><INPUT TYPE="file" NAME="topic_file" VALUE="[% topic_file | html_entity %]" SIZE=40 MAXLENGTH=200 /></TD>
</TR>

[% IF allow_repositories != 0 %]
[%# The diff fetcher #%]
<TR>
 <TD>
Start tag:
<FONT SIZE="-2"><a href="javascript:void(0);"
onmouseover="return create_window('\
Rather than uploading the topic text, if the repository \
supports it, the text can be fetched by querying the \
repository, given start and/or end tags, and a module name. \
The start tag, end tag, and module fields are ignored if text \
is uploaded.<p> \
If only one tag value is specified, the full contents of all \
files in the specified module corresponding to the entered tag \
will be downloaded.')">(?)</a></FONT>
<FONT SIZE="-2"><A HREF="javascript:void(0);"onmouseover="return create_window('\
Subversion Only\: The start tag may be a repository revision number or the name of a label \
within the \'Modules\' \'tags\' directory. <p>If no start tag is provided then the entire package \
will be treated as \'new\'. This may take some time to process. \
')">(hint)</a></FONT>
</TD>
<TD>
<INPUT TYPE="text" NAME="start_tag" VALUE="[% start_tag | html_entity %]" SIZE=30 MAXLENGTH=150 />
</TD>
<TR>
<TD>End tag: <FONT SIZE="-2"><a href="javascript:void(0);"
onmouseover="return create_window('\
Rather than uploading the topic text, if the repository \
supports it, the text can be fetched by querying the \
repository, given start and/or end tags, and a module name. \
The start tag, end tag, and module fields are ignored if text \
is uploaded. <p> \
If only one tag value is specified, the full contents of all \
files in the specified module corresponding to the entered tag \
will be downloaded.')">(?)</A></FONT>
<FONT SIZE="-2"><A HREF="javascript:void(0);"onmouseover="return create_window('\
Subversion Only\: The end tag may be a repository revision number or the name of a label \
within the \'Modules\' \'tags\' directory. <p>If no end tag is provided then the \'HEAD\' of the Module will be used. \
')">(hint)</a></FONT>
</TD>
<TD>
<INPUT TYPE="text" NAME="end_tag" VALUE="[% end_tag  | html_entity %]" SIZE=30 MAXLENGTH=150 />
</TD>
</TR>
<TR>
<TD>
Module:
<FONT SIZE="-2"><A HREF="javascript:void(0);"
onmouseover="return create_window('\
This is the path to the file or module relative to the repository \
root that should be inspected. It is ignored if text is uploaded.')">(?)</a></FONT>
<FONT SIZE="-2"><A HREF="javascript:void(0);"onmouseover="return create_window('\
When a Subversion Repository is selected the \'Module\' field specifies the path from \
the repository base to the packages development branch. ie:\'AUPERASVN01/DevTools/core_devl/trunk\'. \
')">(hint)</a></FONT>
</TD>
<TD COLSPAN="3">
<INPUT TYPE="text" NAME="module" VALUE="[% module | html_entity %]" SIZE=62 MAXLENGTH=150 />
</TD>
</TR>

[%# The default_to_head input field #%]
[% IF supporting_CVS %]
<TR>
<TD>&nbsp;</TD><TD>&nbsp;</TD>
<TD>Default to HEAD:
<FONT SIZE="-2"><a href="javascript:void(0);"
onmouseover="return create_window('\
Fall back to HEAD revision if a file does not exist on either tag. \
This will allow diffs between a branch and the HEAD revision, without \
showing files not on the branch as deleted. \
This option affects only CVS topics currently.')">(?)</A></FONT>
</TD>
 <TD COLSPAN="3"><INPUT TYPE="checkbox" NAME="default_to_head" [% IF default_to_head %]CHECKED[% END %] /></TD>
</TR>
[% END %]
[% END %]

[%# The repository the review is made against #%]
[%# Only display the repository select if there is more than one #%]
[% IF repositories.size > 1 %]
<TR>
 <TD>Repository:
<FONT SIZE="-2"><A HREF="javascript:void(0);"
onmouseover="return create_window('\
The SCM system (eg CVS, Subversion, ClearCase) \
which the topic text was prepared against.  If \
this is correctly set, this provides the \
ability to view the entire contents of a file \
with and/or without a proposed change, which \
an aid in the reviewing process.')">(?)</a></FONT>
<FONT SIZE="-2"><A HREF="javascript:void(0);"onmouseover="return create_window('\
Subversion Only\: Selects the Repository Server. The \Module\' name provides the Repository path. \
')">(hint)</a></FONT>

</TD>
 <TD COLSPAN="3">
       <SELECT NAME="repository">
       [% FOREACH entry = repositories %]
          [% IF entry == default_repository %]
              <OPTION SELECTED VALUE="[% entry %]">[% entry %]</OPTION>
          [% ELSE %]
              <OPTION VALUE="[% entry %]">[% entry %]</OPTION>
          [% END %]
       [% END %]
      </SELECT>
 </TD>
</TR>
[% END %]

[% IF projects_enabled != 0 %]

[%# The project the review belongs to #%]
<TR>

 <TD>Project:
<FONT SIZE="-2"><a href="javascript:void(0);"
onmouseover="return create_window('\
Topics are associated with a specific project, which can be \
used as filtering criteria in the search screen.')">(?)</a></FONT>
</TD>
 <TD COLSPAN="3"><SELECT NAME="projectid">
       [% FOREACH project = projects %]
          [% IF project.id == default_projectid %]
              <OPTION SELECTED VALUE="[% project.id %]">[% project.name | html_entity %]</OPTION>
          [% ELSE %]
              <OPTION VALUE="[% project.id %]">[% project.name | html_entity %]</OPTION>
          [% END %]
       [% END %]
      </SELECT>
 </TD>
</TR>

[% END %]

[%# The bug ids input field #%]
[% IF bugdb_enabled != 0 %]
<TR>
 <TD>Bug IDs:
<FONT SIZE="-2"><a href="javascript:void(0)"
onmouseover="return create_window('\
Indicates what bug identifiers are addressed by this code change. \
These are space or comma separated identifiers, such as: \
<p> \
1634 \
<p> \
or \
<p> \
1534, 4625, 1243 \
<p> \
The appropriate links to the bug-tracking system will be made \
when the topic is viewed, for the reviewer\'s reference. \
<p> \
In addition, if integrating with Bugzilla, when the topic state \
is changed, a comment will be inserted automatically to the \
associated bugs for cross referencing.  When a bug is viewed, \
it can be easily determined what code fixes have been applied \
to it.')">(?)</a></FONT>
</TD>
 <TD COLSPAN="3"><INPUT TYPE="text" NAME="bug_ids" VALUE="[% bug_ids | html_entity %]" SIZE=30 MAXLENGTH=50 /></TD>
</TR>
[% END %]

<tr><td>&nbsp;</td></tr>
<tr><td><B>Email Addresses</B></td></tr>
[%# The email input field #%]
<TR>
 <TD>You (Author's):
<FONT SIZE="-2"><A HREF="javascript:void(0);"
onmouseover="return create_window('\
This is the Author\'s email address.  All comments made against a topic \
will be sent to this address.  The new topic notification email \
will also be sent to this address.')">(?)</a></FONT>
</TD>
 <TD COLSPAN="3"><INPUT TYPE="text" NAME="email" VALUE="[% email | html_entity %]" SIZE=50 MAXLENGTH=80 /></TD>
</TR>

[%# The reviewers input field #%]
<TR>
 <TD>Reviewers:
<FONT SIZE="-2"><a href="javascript:void(0);"
onmouseover="return create_window('\
This is a comma separated list of email addresses, which are the \
people who need to review this code.  When the topic is created, \
the new topic notification  email will be sent to these addresses.')">(?)</a></FONT>
</TD>
 <TD COLSPAN="3"><INPUT TYPE="text" NAME="reviewers" VALUE="[% reviewers | html_entity %]" SIZE=50 MAXLENGTH=1024 /></TD>
</TR>

[%# The Cc input field #%]
<TR>
 <TD>Cc: 
<FONT SIZE="-2"><a href="javascript:void(0);"
onmouseover="return create_window('\
This is a comma separated list of email addresses, which are \
not intended to be reviewers, but typically a mailing list \
to notify a number of people about the creation of a new topic.')">(?)</a></FONT>
</TD>
 <TD COLSPAN="3"><INPUT TYPE="text" NAME="cc" VALUE="[% cc | html_entity %]" SIZE=50 MAXLENGTH=1024 /></TD>
</TR>
</TABLE>

<P>
<INPUT TYPE="submit" NAME=".submit" VALUE="Create Topic" />

</FORM>

[% PROCESS trailer.html.tmpl %]

</BODY>
</HTML>