<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><head> <!-- ViewCVS -- http://viewcvs.sourceforge.net/ by Greg Stein -- mailto:gstein@lyra.org --> <title>[cfg.general.main_title]</title> </head> <body text="#000000" bgcolor="#ffffff"> <table width="100%" border=0 cellspacing=0 cellpadding=0> <tr> <td><h1>[cfg.general.main_title]</h1></td> <td align=right><img src="/icons/apache_pb.gif" alt="(logo)" border=0 width=259 height=32></td> </tr> </table> <p> Select your parameters for querying the CVS commit database. You can search for multiple matches by typing a comma-seperated list into the text fields. Regular expressions, and wildcards are also supported. Blank text input fields are treated as wildcards. </p> <p> Any of the text entry fields can take a comma-seperated list of search arguments. For example, to search for all commits from authors <i>jpaint</i> and <i>gstein</i>, just type: <b>jpaint, gstein</b> in the <i>Author</i> input box. If you are searching for items containing spaces or quotes, you will need to quote your request. For example, the same search above with quotes is: <b>"jpaint", "gstein"</b>. </p> <p> Wildcard and regular expression searches are entered in a similar way to the quoted requests. You must quote any wildcard or regular expression request, and a command charactor preceeds the first quote. The command charactor <b>l</b> is for wildcard searches, and the wildcard charactor is a percent (<b>%</b>). The command charactor for regular expressions is <b>r</b>, and is passed directly to MySQL, so you'll need to refer to the MySQL manual for the exact regex syntax. It is very similar to Perl. A wildard search for all files with a <i>.py</i> extention is: <b>l"%.py"</b> in the <i>File</i> input box. The same search done with a regular expression is: <b>r".*\.py"</b>. </p> <p> All search types can be mixed, as long as they are seperated by commas. </p> <form method=get action="query.cgi"> <table border=0 cellspacing=0 cellpadding=2 width=100% bgcolor=e6e6e6> <tr> <td> <table> <tr> <td valign=top> <table> <tr> <td align=right>CVS Repository:</td> <td> <input type=text name=repository size=40 value="[repository]"> </td> </tr> <tr> <td align=right>CVS Branch:</td> <td> <input type=text name=branch size=40 value="[branch]"> </td> </tr> <tr> <td align=right>Directory:</td> <td> <input type=text name=directory size=40 value="[directory]"> </td> </tr> <tr> <td align=right>File:</td> <td> <input type=text name=file size=40 value="[file]"> </td> </tr> <tr> <td align=right>Author:</td> <td> <input type=text name=who size=40 value="[who]"> </td> </tr> </table> </td> <td valign=top> <table> <tr> <td align=left>Sort By:</td> <td> <select name=sortby> <option value=date [is sortby "date"]selected[end]>Date</option> <option value=author [is sortby "author"]selected[end]>Author</option> <option value=file [is sortby "file"]selected[end]>File</option> </select> </td> </tr> <tr> <td colspan=2> <table border=0 cellspacing=0 cellpadding=0> <tr> <td>Date:</td> </tr> <tr> <td><input type=radio name=date value=hours [is date "hours"]checked[end]></td> <td>In the last <input type=text name=hours value=[hours] size=4>hours </td> </tr> <tr> <td><input type=radio name=date value=day [is date "day"]checked[end]></td> <td>In the last day</td> </tr> <tr> <td><input type=radio name=date value=week [is date "week"]checked[end]></td> <td>In the last week</td> </tr> <tr> <td><input type=radio name=date value=month [is date "month"]checked[end]></td> <td>In the last month</td> </tr> <tr> <td><input type=radio name=date value=all [is date "all"]checked[end]></td> <td>Since the beginning of time</td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> <td> <input type=submit value="Search"> </td> </tr> </table> </form> [is query "skipped"] [else] <p><b>[num_commits]</b> matches found.</p> [if-any commits] <table width="100%" border=0 cellspacing=0 cellpadding=2> <tr bgcolor="#88ff88"> <th align=left valign=top>Revision</th> <th align=left valign=top>File</th> <th align=left valign=top>Branch</th> <th align=left valign=top>+/-</th> <th align=left valign=top>Date</th> <th align=left valign=top>Author</th> [# uncommment, if you want a separate Description column: (also see below) <th align=left valign=top>Description</th> ] </tr> [for commits] [for commits.files] <tr bgcolor="[if-index commits even]#ffffff[else]#ccccee[end]"> <td align=left valign=top> [if-any commits.files.rev][commits.files.rev][else] [end] </td> <td align=left valign=top>[commits.files.link]</td> <td align=left valign=top> [if-any commits.files.branch][commits.files.branch][else] [end] </td> <td align=left valign=top>[commits.files.plus]/[commits.files.minus]</td> <td align=left valign=top> [if-any commits.files.date][commits.files.date][else] [end] </td> <td align=left valign=top> [if-any commits.files.author][commits.files.author][else] [end] </td> [# uncommment, if you want a separate Description column: {if-index commits.files first{ <td align=left valign=top rowspan={commits.num_files}> {commits.desc} </td> {end} (substitute brackets for the braces) ] </tr> [# and also take the following out in the "Description column"-case:] [if-index commits.files last] <tr bgcolor="[if-index commits even]#ffffff[else]#ccccee[end]"> <td> </td> <td colspan=5><b>Log:</b><br> <pre>[commits.desc]</pre></td> </tr> [end] [# ---] [end] [end] <tr bgcolor="#88ff88"> <th align=left valign=top> </th> <th align=left valign=top> </th> <th align=left valign=top> </th> <th align=left valign=top> </th> <th align=left valign=top> </th> <th align=left valign=top> </th> <th align=left valign=top> </th> </tr> </table> [end] [end] [include "footer.ezt"]