diff options
author | Jeremy Olexa <darkside@gentoo.org> | 2010-03-24 10:24:15 -0500 |
---|---|---|
committer | Jeremy Olexa <darkside@gentoo.org> | 2010-03-24 10:24:15 -0500 |
commit | 6cf7bc847ece2f75027235a93ca17a86fcc12cbd (patch) | |
tree | de2803eb43d198aaea36155c41951e6fc00e1421 | |
download | gentoo-viewvc-templates-6cf7bc847ece2f75027235a93ca17a86fcc12cbd.tar.gz gentoo-viewvc-templates-6cf7bc847ece2f75027235a93ca17a86fcc12cbd.tar.bz2 gentoo-viewvc-templates-6cf7bc847ece2f75027235a93ca17a86fcc12cbd.zip |
Initial commit. Default template from viewvc package
53 files changed, 2765 insertions, 0 deletions
diff --git a/diff.ezt b/diff.ezt new file mode 100644 index 0000000..f01fbc4 --- /dev/null +++ b/diff.ezt @@ -0,0 +1,240 @@ +[# setup page definitions] + [define page_title]Diff of /[where][end] + [define help_href][docroot]/help_rootview.html[end] +[# end] + +[include "include/header.ezt" "diff"] +[include "include/file_header.ezt"] + +<h3 style="text-align:center;"></h3> + +[if-any raw_diff] + <pre class="vc_raw_diff">[raw_diff]</pre> +[end] + +[define left_view_href][if-any left.prefer_markup][left.view_href][else][if-any left.download_href][left.download_href][end][end][end] +[define right_view_href][if-any right.prefer_markup][right.view_href][else][if-any right.download_href][right.download_href][end][end][end] + +[if-any changes] +<table cellspacing="0" cellpadding="0"> + <tr class="vc_diff_header"> + <th style="width:6%;"></th> + <th style="width:47%; vertical-align:top;"> + [is left.path right.path][else][left.path][end] + revision [if-any left_view_href]<a href="[left_view_href]">[end][left.rev][if-any left_view_href]</a>[end][if-any left.author] by <em>[left.author]</em>[end], + [left.date] + [if-any left.tag]<br />Tag: [left.tag][end] + </th> + <th style="width:47%; vertical-align:top;"> + [is left.path right.path][else][right.path][end] + revision [if-any right_view_href]<a href="[right_view_href]">[end][right.rev][if-any right_view_href]</a>[end][if-any right.author] by <em>[right.author]</em>[end], + [right.date] + [if-any right.tag]<br />Tag: [right.tag][end] + </th> + </tr> + + [for changes] + [is changes.type "header"] + <tr class="vc_diff_chunk_header" id="h[changes.line_info_right]"> + <td style="width:6%;"><strong>#</strong></td> + <td style="width:47%;"> + <strong>Line [changes.line_info_left]</strong> + <span class="vc_diff_chunk_extra">[changes.line_info_extra]</span> + </td> + <td style="width:47%;"> + <strong>Line [changes.line_info_right]</strong> + <span class="vc_diff_chunk_extra">[changes.line_info_extra]</span> + </td> + </tr> + [else] + [is changes.type "add"] + <tr> + <td class="vc_diff_line_number" id="l[changes.line_number]">[if-any right.annotate_href]<a href="[right.annotate_href]#l[changes.line_number]">[changes.line_number]</a>[else][changes.line_number][end]</td> + <td class="vc_diff_empty"> </td> + <td class="vc_diff_add"> [changes.right]</td> + </tr> + [else] + [is changes.type "remove"] + <tr> + <td></td> + <td class="vc_diff_remove"> [changes.left]</td> + <td class="vc_diff_empty"> </td> + </tr> + [else] + [is changes.type "change"] + <tr> + [if-any changes.have_right] + <td class="vc_diff_line_number" id="l[changes.line_number]">[if-any right.annotate_href]<a href="[right.annotate_href]#l[changes.line_number]">[changes.line_number]</a>[else][changes.line_number][end]</td> + [else] + <td></td> + [end] + [if-any changes.have_left] + <td class="vc_diff_change"> [changes.left]</td> + [else] + <td class="vc_diff_change_empty"> </td> + [end] + [if-any changes.have_right] + <td class="vc_diff_change"> [changes.right]</td> + [else] + <td class="vc_diff_change_empty"> </td> + [end] + </tr> + [else] + [is changes.type "no-changes"] + <tr> + <td colspan="3"> </td> + </tr> + <tr class="vc_diff_empty"> + <td colspan="3" style="text-align:center;"><br /> + <strong>- No changes -</strong><br /> </td> + </tr> + [else] + [is changes.type "binary-diff"] + <tr> + <td colspan="3"> </td> + </tr> + <tr class="vc_diff_empty"> + <td colspan="3" style="text-align:center;"><br /> + <strong>- Binary file revisions differ -</strong><br /> </td> + </tr> + [else] + [is changes.type "error"] + <tr> + <td colspan="3"> </td> + </tr> + <tr class="vc_diff_empty"> + <td colspan="3" style="text-align:center;"> <br /> + <strong>- ViewVC depends on rcsdiff and GNU diff to create + this page. ViewVC cannot find GNU diff. Even if you + have GNU diff installed, the rcsdiff program must be + configured and compiled with the GNU diff location. + -</strong> <br /> </td> + </tr> + [else] + <tr> + <td class="vc_diff_line_number" id="l[changes.line_number]">[if-any right.annotate_href]<a href="[right.annotate_href]#l[changes.line_number]">[changes.line_number]</a>[else][changes.line_number][end]</td> + <td class="vc_diff_nochange"> [changes.left]</td> + <td class="vc_diff_nochange"> [changes.right]</td> + </tr> + [end] + [end] + [end] + [end] + [end] + [end] + [end] + [end] +</table> +[end] + +[if-any sidebyside] + <table class="vc_idiff"> + <colgroup><col /><col class="content" /></colgroup> + <colgroup><col /><col class="content" /></colgroup> + <thead> + <tr> + <th colspan="2"> + [is left.path right.path][else][left.path][end] + Revision [left.rev] + </th> + <th colspan="2"> + [is left.path right.path][else][right.path][end] + Revision [right.rev] + </th> + </tr> + </thead> + <tbody> + [for sidebyside] + [if-any sidebyside.gap] + <tr> + <th>…</th><th></th> + <th>…</th><th></th> + </tr> + [end] + <tr> + [for sidebyside.columns] + <th>[sidebyside.columns.line_number]</th><td[if-any sidebyside.columns.line_number][else] class="vc_idiff_empty"[end]>[for sidebyside.columns.segments][if-any sidebyside.columns.segments.type]<span class="vc_idiff_[sidebyside.columns.segments.type]">[sidebyside.columns.segments.text]</span>[else][sidebyside.columns.segments.text][end][end]</td> + [end] + </tr> + [end] + </tbody> + </table> +[end] + +[if-any unified] + <table class="vc_idiff"> + <thead> + <tr> + <th>r[left.rev]</th> + <th>r[right.rev]</th> + <th></th> + </tr> + </thead> + <tbody> + [for unified] + [if-any unified.gap] + <tr> + <th>…</th> + <th>…</th> + <th></th> + </tr> + [end] + <tr> + <th>[unified.left_number]</th> + <th>[unified.right_number]</th> + <td[if-any unified.type] class="vc_idiff_[unified.type]"[end]>[for unified.segments][if-any unified.segments.type]<span class="vc_idiff_[unified.segments.type]">[unified.segments.text]</span>[else][unified.segments.text][end][end]</td> + </tr> + [end] + </tbody> + </table> +[end] + +<hr style="margin-top:1em;" /> + +<table cellpadding="10" class="auto"> + <tr> + <td> + <form method="get" action="[diff_format_action]"> + <div> + [for diff_format_hidden_values]<input type="hidden" name="[diff_format_hidden_values.name]" value="[diff_format_hidden_values.value]"/>[end] + <select name="diff_format" onchange="submit()"> + <option value="h" [is diff_format "h"]selected="selected"[end]>Colored Diff</option> + <option value="l" [is diff_format "l"]selected="selected"[end]>Long Colored Diff</option> + <option value="f" [is diff_format "f"]selected="selected"[end]>Full Colored Diff</option> + <option value="u" [is diff_format "u"]selected="selected"[end]>Unidiff</option> + <option value="c" [is diff_format "c"]selected="selected"[end]>Context Diff</option> + <option value="s" [is diff_format "s"]selected="selected"[end]>Side by Side</option> + </select> + <input type="submit" value="Show" /> + </div> + </form> + </td> + <td> +[if-any raw_diff] + +[else] + <table style="border:solid gray 1px;" class="auto"> + <tr> + <td>Legend:<br /> + <table cellspacing="0" cellpadding="1"> + <tr> + <td style="text-align:center;" class="vc_diff_remove">Removed from v.[left.rev]</td> + <td class="vc_diff_empty"> </td> + </tr> + <tr> + <td style="text-align:center;" colspan="2" class="vc_diff_change">changed lines</td> + </tr> + <tr> + <td class="vc_diff_empty"> </td> + <td style="text-align:center;" class="vc_diff_add">Added in v.[right.rev]</td> + </tr> + </table> + </td> + </tr> + </table> +[end] + </td> + </tr> +</table> + +[include "include/footer.ezt"] diff --git a/dir_new.ezt b/dir_new.ezt new file mode 100644 index 0000000..f99d31a --- /dev/null +++ b/dir_new.ezt @@ -0,0 +1,140 @@ +[include "include/dir_header.ezt"] + +<table cellspacing="1" cellpadding="2" class="fixed"> +<thead> +<tr> + <th style="width: 200px" class="vc_header[is sortby "file"]_sort[end]"> + [if-any sortby_file_href]<a href="[sortby_file_href]#dirlist">File</a>[else]File[end] + [is sortby "file"] + <img class="vc_sortarrow" alt="[is sortdir "down"](rev)[end]" + width="13" height="13" + src="[docroot]/images/[is sortdir "up"]up[else]down[end].png" /> + [end] + </th> + <th style="width: 96px" class="vc_header"></th> + [if-any sortby_rev_href] + <th class="vc_header[is sortby "rev"]_sort[end]"> + <a href="[sortby_rev_href]#dirlist">Last Change</a> + [is sortby "rev"] + <img class="vc_sortarrow" alt="[is sortdir "down"](rev)[end]" + width="13" height="13" + src="[docroot]/images/[is sortdir "up"]up[else]down[end].png" /> + [end] + [else] + <th class="vc_header[is sortby "date"]_sort[end]"> + [if-any sortby_date_href]<a href="[sortby_date_href]#dirlist">Last Change</a>[else]Last Change[end] + [is sortby "date"] + <img class="vc_sortarrow" alt="[is sortdir "down"](date)[end]" + width="13" height="13" + src="[docroot]/images/[is sortdir "up"]up[else]down[end].png" /> + [end] + [end] + </th> +</tr> +</thead> + +<tbody> +[if-any up_href] + <tr class="vc_row_odd"> + <td style="width: 200px"> + <a href="[up_href]"> + <img src="[docroot]/images/back_small.png" alt="" class="vc_icon" + /> Parent Directory</a> + </td> + <td style="width: 96px; font-size: 0;"></td> + <td> </td> + </tr> + [end] +[for entries] + <tr class="vc_row_[if-index entries even]even[else]odd[end]"> + <td style="width: 200px"> + <a name="[entries.anchor]" href="[is entries.pathtype "dir"][entries.view_href][else][if-any entries.prefer_markup][entries.view_href][else][entries.download_href][end][end]" title="[is entries.pathtype "dir"]View Directory Contents[else][if-any entries.prefer_markup]View[else]Download[end] File Contents[end]"> + <img src="[docroot]/images/[is entries.pathtype "dir"]dir[else][is entries.state "dead"]broken[else]text[end][end].png" alt="" class="vc_icon" /> + [entries.name][is entries.pathtype "dir"]/[end]</a> + [if-any entries.lockinfo]<img src="[docroot]/images/lock.png" alt="locked" class="vc_icon" title="Locked by [entries.lockinfo]" />[end] + [is entries.state "dead"](dead)[end] + </td> + + [if-any entries.errors] + <td colspan="2">[for entries.errors]<em>[entries.errors]</em>[end]</td> + [else] + [define view_icon_link][end] + [define graph_icon_link][end] + [define download_icon_link][end] + [define annotate_icon_link][end] + [define log_icon_link][if-any entries.log_href]<a + href="[entries.log_href]" + title="View Log"><img + src="[docroot]/images/log.png" + alt="View Log" + class="vc_icon" /></a>[end][end] + + [is entries.pathtype "dir"] + [is roottype "cvs"] + [# no point in showing icon when there's only one to choose from] + [else] + [define view_icon_link]<a + href="[entries.view_href]" + title="View Directory Listing"><img + src="[docroot]/images/list.png" + alt="View Directory Listing" + class="vc_icon" /></a>[end] + [end] + [end] + + [is entries.pathtype "file"] + [define view_icon_link][if-any entries.view_href]<a + href="[entries.view_href]" + title="View File"><img + src="[docroot]/images/view.png" + alt="View File" + class="vc_icon" /></a>[end][end] + + [define graph_icon_link][if-any entries.graph_href]<a + href="[entries.graph_href]" + title="View Revision Graph"><img + src="[docroot]/images/cvsgraph_16x16.png" + alt="View Revision Graph" + class="vc_icon" /></a>[end][end] + + [define download_icon_link][if-any entries.download_href]<a + href="[entries.download_href]" + title="Download File"><img + src="[docroot]/images/download.png" + alt="Download File" + class="vc_icon" /></a>[end][end] + + [define annotate_icon_link][if-any entries.annotate_href]<a + href="[entries.annotate_href]" + title="Annotate File"><img + src="[docroot]/images/annotate.png" + alt="Annotate File" + class="vc_icon" /></a>[end][end] + [end] + + <td style="width: 96px" + >[# Icon column. We might want to add more icons like a tarball + # icon for directories or a diff to previous icon for files. + # Make sure this sucker has no whitespace in it, or the fixed + # widthness of will suffer for large font sizes + ][log_icon_link][view_icon_link][graph_icon_link][download_icon_link][annotate_icon_link]</td> + + <td> + [if-any entries.rev] + <strong>[if-any entries.revision_href]<a href="[entries.revision_href]" title="Revision [entries.rev]">[entries.rev]</a>[else][entries.rev][end]</strong> + ([entries.ago] ago) + by <em>[entries.author]</em>: + [entries.log] + [is entries.pathtype "dir"][is roottype "cvs"] + <em>(from [entries.log_file]/[entries.log_rev])</em> + [end][end] + [end] + </td> + [end] + </tr> +[end] +</tbody> + +</table> + +[include "include/dir_footer.ezt"] diff --git a/directory.ezt b/directory.ezt new file mode 100644 index 0000000..538dcfb --- /dev/null +++ b/directory.ezt @@ -0,0 +1,116 @@ +[include "include/dir_header.ezt"] + +<table cellspacing="1" cellpadding="2"> +<thead> +<tr> + <th class="vc_header[is sortby "file"]_sort[end]" colspan="2"> + [if-any sortby_file_href]<a href="[sortby_file_href]#dirlist">File</a>[else]File[end] + [is sortby "file"] + <img class="vc_sortarrow" alt="[is sortdir "down"](rev)[end]" + width="13" height="13" + src="[docroot]/images/[is sortdir "up"]up[else]down[end].png" /> + [end] + </th> + <th class="vc_header[is sortby "rev"]_sort[end]"> + [if-any sortby_rev_href]<a href="[sortby_rev_href]#dirlist">Rev.</a>[else]Rev.[end] + [is sortby "rev"] + <img class="vc_sortarrow" alt="[is sortdir "down"](rev)[end]" + width="13" height="13" + src="[docroot]/images/[is sortdir "up"]up[else]down[end].png" /> + [end] + </th> + <th class="vc_header[is sortby "date"]_sort[end]"> + [if-any sortby_date_href]<a href="[sortby_date_href]#dirlist">Age</a>[else]Age[end] + [is sortby "date"] + <img class="vc_sortarrow" alt="[is sortdir "down"](rev)[end]" + width="13" height="13" + src="[docroot]/images/[is sortdir "up"]up[else]down[end].png" /> + [end] + </th> + <th class="vc_header[is sortby "author"]_sort[end]"> + [if-any sortby_author_href]<a href="[sortby_author_href]#dirlist">Author</a>[else]Author[end] + [is sortby "author"] + <img class="vc_sortarrow" alt="[is sortdir "down"](rev)[end]" + width="13" height="13" + src="[docroot]/images/[is sortdir "up"]up[else]down[end].png" /> + [end] + </th> +[is cfg.options.show_logs "1"] + <th class="vc_header[is sortby "log"]_sort[end]"> + [if-any sortby_log_href]<a href="[sortby_log_href]#dirlist">Last log entry</a>[else]Last log entry[end] + [is sortby "log"] + <img class="vc_sortarrow" alt="[is sortdir "down"](rev)[end]" + width="13" height="13" + src="[docroot]/images/[is sortdir "up"]up[else]down[end].png" /> + [end] + </th> +[end] +</tr> +</thead> + +<tbody> +[if-any up_href] + <tr class="vc_row_odd"> + <td colspan="2"> + <a href="[up_href]"> + <img src="[docroot]/images/back_small.png" alt="" class="vc_icon" + /> Parent Directory</a> + </td> + <td> </td> + <td> </td> + <td> </td> + [is cfg.options.show_logs "1"] + <td> </td> + [end] + </tr> + [end] + [for entries] + <tr class="vc_row_[if-index entries even]even[else]odd[end]"> + <td[if-any entries.graph_href][else] colspan="2"[end]> + [is entries.pathtype "dir"] + <a name="[entries.anchor]" href="[entries.view_href]" title="View directory contents"> + [else] + <a name="[entries.anchor]" href="[entries.log_href]" title="View file revision log"> + [end] + <img src="[docroot]/images/[is entries.pathtype "dir"]dir[else][is entries.state "dead"]broken[else]text[end][end].png" alt="" class="vc_icon" /> + [entries.name][is entries.pathtype "dir"]/[end]</a> + [is entries.state "dead"](dead)[end] + </td> + [if-any entries.graph_href] + <td style="width:1%"><a href="[entries.graph_href]" + title="View Revision Graph"><img + src="[docroot]/images/cvsgraph_16x16.png" + alt="View Revision Graph" class="vc_icon" /> + </a></td> + [end] + [if-any entries.errors] + <td colspan=[is cfg.options.show_logs "1"]4[else]3[end]> + [for entries.errors]<em>[entries.errors]</em>[end] + </td> + [else] + [is entries.pathtype "dir"] + <td> [if-any entries.rev]<a href="[entries.log_href]" title="View directory revision log"><strong>[entries.rev]</strong></a>[end]</td> + [else] + [define rev_href][if-any entries.prefer_markup][entries.view_href][else][if-any entries.download_href][entries.download_href][end][end][end] + <td style="white-space: nowrap;"> [if-any entries.rev][if-any rev_href]<a href="[rev_href]" title="[if-any entries.prefer_markup]View[else]Download[end] file contents">[end]<strong>[entries.rev]</strong>[if-any rev_href]</a>[end][end] + [if-any entries.lockinfo]<img src="[docroot]/images/lock.png" alt="locked" class="vc_icon" title="Locked by [entries.lockinfo]" />[end] + </td> + [end] + <td> [entries.ago]</td> + <td> [entries.author]</td> + [is cfg.options.show_logs "1"] + [if-any entries.short_log] + <td> [entries.short_log][is entries.pathtype "dir"][is roottype "cvs"] + <em>(from [entries.log_file]/[entries.log_rev])</em>[end][end]</td> + [else] + <td> </td> + [end] + [end] + [end] + </tr> +[end] +</tbody> + +</table> + +[include "include/dir_footer.ezt"] diff --git a/docroot/help.css b/docroot/help.css new file mode 100644 index 0000000..9adde07 --- /dev/null +++ b/docroot/help.css @@ -0,0 +1,14 @@ +/************************************/ +/*** ViewVC Help CSS Stylesheet ***/ +/************************************/ + +/*** Standard Tags ***/ +body { + margin: 0.5em; +} +img { border: none; } + +table { width: 100%; } +td { vertical-align: top; } + +col.menu { width:12em; } diff --git a/docroot/help_dirview.html b/docroot/help_dirview.html new file mode 100644 index 0000000..f86cb4a --- /dev/null +++ b/docroot/help_dirview.html @@ -0,0 +1,122 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>ViewVC Help: Directory View</title> + <link rel="stylesheet" href="help.css" type="text/css" /> + <link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" /> + <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> +</head> +<body> + <div><a href="http://viewvc.org/index.html"><img src="images/viewvc-logo.png" alt="ViewVC logotype" /></a></div> + <table> + <col class="menu" /> + <col /> + <tr><td> + <h3>Help</h3> + <a href="help_rootview.html">General</a><br /> + <strong>Directory View</strong><br /> + <a href="help_log.html">Log View</a><br /> + <a href="help_query.html">Query Database</a><br /> + </td><td> + + <h1>ViewVC Help: Directory View</h1> + + <p>The directory listing view should be a familiar sight to any + computer user. It shows the path of the current directory being viewed + at the top of the page. Below that is a table summarizing the + directory contents, and then comes actual contents, a sortable list of + all files and subdirectories inside the current directory.</p> + + <p><a name="summary"></a>The summary table is made up of some or all + of the following rows:</p> + <ul> + <li><a name="summary-files-shown"><strong>Files Shown</strong></a> + - Number of files shown in the directory listing. This might be less + than the actual number of files in the directory if a + <a href="#option-search">regular expression search</a> is in place, + hiding files which don't meet the search criteria. In CVS directory + listings, this row will also have a link to toggle display of + <a href="help_rootview.html#dead-files">dead files</a>, if any are + present.</li> + + <li><a name="summary-revision"><strong>Directory + Revision</strong></a> - For Subversion directories only. + Shown as "# of #" where the first number is the most recent + repository revision where the directory (or a path underneath it) + was modified. The second number is just the latest repository + revision. Both numbers are links to + <a href="help_rootview.html#view-rev">revision views</a></li> + + <li><a name="summary-sticky-revision-tag"><strong>Sticky + Revision/Tag</strong></a> - shows the current + <a href="help_rootview.html#sticky-revision-tag">sticky revision or + tag</a> and contains form fields to set or clear it.</li> + + <li><a name="summary-search"><strong>Current Search</strong></a> - + If a <a href="#option-search">regular expression search</a> is in place, + shows the search string.</li> + + <li><a name="summary-query"><strong>Query</strong></a> - Provides + a link to a <a href="help_rootview.html#view-query">query form</a> + for the directory</li> + </ul> + + <p><a name="list"></a>The actual directory list is a table with + filenames and directory names in one column and information about the + most recent revisions where each file or directory was modified in the + other columns. Column headers can be clicked to sort the directory + entries in order by a column, and clicked again to reverse the sort + order.</p> + + <p> + <!-- If using directory.ezt template --> + File names are links to <a href="help_log.html">log views</a> + showing a list of revisions where a file was modified. Revision + numbers are links to either + <a href="help_rootview.html#view-markup">view</a> + or <a href="help_rootview.html#view-checkout">download</a> a file + (depending on its file type). The links are reversed for directories. + Directory revision numbers are links to <a href="help_log.html">log + views</a>, while directory names are links showing the contents of those + directories. + + <!-- If using dir_alt.ezt template --> + <!-- + File and directory names are links to retrieve their contents. + File links may be either + <a href="help_rootview.html#view-markup">view</a> + or <a href="help_rootview.html#view-download">download</a> links + depending on the file type. Directory links go to directory + listings. Revision numbers are links to <a href="help_log.html">log + views</a> showing lists of revisions where a file or directory was + modified. + --> + + Also, in CVS repositories with the + <a href="help_rootview.html#view-graph">graph view</a> enabled, there + will be small + <img src="images/cvsgraph_16x16.png" width="16" height="16" alt="graph"> + icons next to file names which are links to revision graphs.</p> + + <p>Depending on how ViewVC is configured, there may be more options + at the bottom of directory pages:</p> + + <ul> + <li><a name="option-search"><strong>Regular expression + search</strong></a> - If enabled, will show a form field accepting + a search string (a + <a href="http://doc.python.org/lib/re-syntax.html">python regular + expression</a>). Once submitted, only files that have at least + one occurance of the expression will show up in directory listings. + </li> + <li><a name="option-tarball"><strong>Tarball download</strong></a> - + If enabled, will show a link to download a gzipped tar archive of + the directory contents.</li> + </ul> + + </td></tr></table> + <hr /> + <address><a href="mailto:users@viewvc.tigris.org">ViewVC Users Mailinglist</a></address> + </body> +</html> diff --git a/docroot/help_log.html b/docroot/help_log.html new file mode 100644 index 0000000..5ddf0d4 --- /dev/null +++ b/docroot/help_log.html @@ -0,0 +1,66 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>ViewVC Help: Log View</title> + <link rel="stylesheet" href="help.css" type="text/css" /> + <link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" /> + <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> +</head> +<body> + <div><a href="http://viewvc.org/index.html"><img src="images/viewvc-logo.png" alt="ViewVC logotype" /></a></div> + <table> + <col class="menu" /> + <col /> + <tr><td> + <h3>Help</h3> + <a href="help_rootview.html">General</a><br /> + <a href="help_dirview.html">Directory View</a><br /> + <strong>Log View</strong><br /> + <a href="help_query.html">Query Database</a><br /> + </td><td> + + <h1>ViewVC Help: Log View</h1> + + <p> + The log view displays the revision history of the selected source + file or directory. For each revision the following information is + displayed: + + <ul> + <li>The revision number. In Subversion repositories, this is a + link to the <a href="help_rootview.html#view-rev">revision + view</a></li> + <li>For files, links to + <a href="help_rootview.html#view-markup">view</a>, + <a href="help_rootview.html#view-checkout">download</a>, and + <a href="help_rootview.html#view-annotate">annotate</a> the + revision. For directories, a link to + <a href="help_dirview.html">list directory contents</a></li> + <li>A link to select the revision for diffs (see below)</li> + <li>The date and age of the change</li> + <li>The author of the modification</li> + <li>The CVS branch (usually <em>MAIN</em>, if not on a branch)</li> + <li>Possibly a list of CVS tags bound to the revision (if any)</li> + <li>The size of the change measured in added and removed lines of + code. (CVS only)</li> + <li>The size of the file in bytes at the time of the revision + (Subversion only)</li> + <li>Links to view diffs to the previous revision or possibly to + an arbitrary selected revision (if any, see above)</li> + <li>If the revision is the result of a copy, the path and revision + copied from</li> + <li>If the revision precedes a copy or rename, the path at the + time of the revision</li> + <li>And last but not least, the commit log message which should tell + about the reason for the change.</li> + </ul> + <p> + At the bottom of the page you will find a form which allows + to request diffs between arbitrary revisions. + </p> + </td></tr></table> + <hr /> + <address><a href="mailto:users@viewvc.tigris.org">ViewVC Users Mailinglist</a></address> + </body> +</html> diff --git a/docroot/help_query.html b/docroot/help_query.html new file mode 100644 index 0000000..9bab797 --- /dev/null +++ b/docroot/help_query.html @@ -0,0 +1,62 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>ViewVC Help: Query The Commit Database</title> + <link rel="stylesheet" href="help.css" type="text/css" /> + <link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" /> + <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> +</head> +<body> + <div><a href="http://viewvc.org/index.html"><img src="images/viewvc-logo.png" alt="ViewVC logotype" /></a></div> + <table> + <col class="menu" /> + <col /> + <tr><td> + <h3>Help:</h3> + <a href="help_rootview.html">General</a><br /> + <a href="help_dirview.html">Directory View</a><br /> + <a href="help_log.html">Log View</a><br /> + <strong>Query Database</strong> + </td><td> + + <h1>ViewVC Help: Query The Commit Database</h1> + + <p> + Select your parameters for querying the CVS commit database in the + form at the top of the page. 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 <em>jpaint</em> and <em>gstein</em>, just type: <code>jpaint, + gstein</code> in the <em>Author</em> 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: + <code>"jpaint", "gstein"</code>. + </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 character preceeds the + first quote. The command character <code>l</code>(lowercase L) is for wildcard + searches, and the wildcard character is a percent (<code>%</code>). The + command character for regular expressions is <code>r</code>, 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 <em>.py</em> extention is: + <code>l"%.py"</code> in the <em>File</em> input box. The same search done + with a regular expression is: <code>r".*\.py"</code>. + </p> + <p> + All search types can be mixed, as long as they are seperated by + commas. + </p> + </td></tr></table> + <hr /> + <address><a href="mailto:users@viewvc.tigris.org">ViewVC Users Mailinglist</a></address> + </body> +</html> diff --git a/docroot/help_rootview.html b/docroot/help_rootview.html new file mode 100644 index 0000000..24457e9 --- /dev/null +++ b/docroot/help_rootview.html @@ -0,0 +1,157 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>ViewVC Help: General</title> + <link rel="stylesheet" href="help.css" type="text/css" /> + <link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" /> + <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> +</head> +<body> + <div><a href="http://viewvc.org/index.html"><img src="images/viewvc-logo.png" alt="ViewVC logotype" /></a></div> + <table> + <col class="menu" /> + <col /> + <tr><td> + <h3>Help</h3> + <strong>General</strong><br /> + <a href="help_dirview.html">Directory View</a><br /> + <a href="help_log.html">Log View</a><br /> + <a href="help_query.html">Query Database</a><br /> + </td><td> + + <h1>ViewVC Help: General</h1> + + <p><em>ViewVC</em> is a WWW interface for CVS and Subversion + repositories. It allows you to browse the files and directories in a + repository while showing you metadata from the repository history: log + messages, modification dates, author names, revision numbers, copy + history, and so on. It provides several different views of repository + data to help you find the information you are looking for:</p> + + <ul> + <li><a name="multiple-repositories"><strong>Root Listing + View</strong></a> - Show a list of repositories configured for + display in ViewVC.</li> + + <li><a name="view-dir" href="help_dirview.html"><strong>Directory + View</strong></a> - Shows a list of files and subdirectories in a + directory of the repository, along with metadata like author names and + log entries.</li> + + <li><a name="view-log" href="help_log.html"><strong>Log + View</strong></a> - Shows a revision by revision list of all the + changes that have made to a file or directory in the repository, with + metadata and links to views of each revision.</li> + + <li><a name="view-checkout"><strong>File Download (Checkout + View)</strong></a> - Retrieves the unaltered contents of a file + revision. Browsers may try to display the file, or just save it + to disk. <em>This view is disabled in the default ViewVC + configuration.</em></li> + + <li><a name="view-annotate"><a name="view-markup"><strong>File + Contents View</strong></a></a> - Shows the contents of a file at + a particular revision, with revision information at the top of + the page. File revisions which are GIF, PNG, or JPEG images are + displayed inline on the page. Other file types are displayed as + marked up text. The markup may be limited to turning URLs and + email addresses into links, or configured to show colorized + source code. This view can optionally show line-based + annotation data for the file, containing the revision number + where each line was last modified, along with links and other + information. <em>This view is disabled in some ViewVC + configurations.</em></li> + + <li><a name="view-diff"><strong>File Diff View</strong></a> - Shows + the changes made between two revisions of a file</li> + + <li><a name="view-tarball"><strong>Directory Tarball View</strong> - + Retrieves a gzipped tar archive containing the contents of a + directory.<em>This view is disabled in the default ViewVC + configuration.</em></li> + + <li><a name="view-query"><strong>Directory Query View</strong></a> - + Shows information about changes made to all subdirectories and files + under a parent directory, sorted and filtered by criteria you specify. + <em>This view is disabled in the default ViewVC configuration.</em> + </li> + + <li><a name="view-rev"><strong>Revision View</strong> - Shows + information about a revision including log message, author, and a list + of changed paths. <em>For Subversion repositories only.</em></li> + + <li><a name="view-graph"><strong>Graph View</strong></a> - Shows a + graphical representation of a file's revisions and branches complete + with tag and author names and links to markup and diff pages. + <em>For CVS repositories only, and disabled in the default + configuration.</em></li> + </ul> + + <h3><a name="sticky-revision-tag">Sticky Revision and Tag</a></h3> + + <p>By default, ViewVC will show the files and directories and revisions + that currently exist in the repository. But it's also possible to browse + the contents of a repository at a point in its past history by choosing + a "sticky tag" (in CVS) or a "sticky revision" (in Subversion) from the + forms at the top of directory and log pages. They're called sticky + because once they're chosen, they stick around when you navigate to + other pages, until you reset them. When they're set, directory and log + pages only show revisions preceding the specified point in history. In + CVS, when a tag refers to a branch or a revision on a branch, only + revisions from the branch history are shown, including branch points and + their preceding revisions.</p> + + <h3><a name="dead-files">Dead Files</a></h3> + + <p>In CVS directory listings, ViewVC can optionally display dead files. + Dead files are files which used to be in a directory but are currently + deleted, or files which just don't exist in the currently selected + <a href="#sticky-revision-tag">sticky tag</a>. Dead files cannot be + shown in Subversion repositories. The only way to see a deleted file in + a Subversion directory is to navigate to a sticky revision where the + file previously existed.</p> + + <h3><a name="artificial-tags">Artificial Tags</a></h3> + + <p>In CVS Repositories, ViewVC adds artificial tags <em>HEAD</em> and + <em>MAIN</em> to tag listings and accepts them in place of revision + numbers and real tag names in all URLs. <em>MAIN</em> acts like a branch + tag pointing at the default branch, while <em>HEAD</em> acts like a + revision tag pointing to the latest revision on the default branch. The + default branch is usually just the trunk, but may be set to other + branches inside individual repository files. CVS will always check out + revisions from a file's default branch when no other branch is specified + on the command line.</p> + + <h3><a name="more-information">More Information</a></h3> + + <p>More information about <em>ViewVC</em> is available from + <a href="http://viewvc.org/">viewvc.org</a>. + See the links below for guides to CVS and Subversion</p> + + <h4>Documentation about CVS</h4> + <blockquote> + <p> + <a href="http://cvsbook.red-bean.com/"><em>Open Source + Development with CVS</em></a><br /> + <a href="http://www.loria.fr/~molli/cvs/doc/cvs_toc.html">CVS + User's Guide</a><br /> + <a href="http://cellworks.washington.edu/pub/docs/cvs/tutorial/cvs_tutorial_1.html">Another CVS tutorial</a><br /> + <a href="http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/cvs/">Yet another CVS tutorial (a little old, but nice)</a><br /> + <a href="http://www.cs.utah.edu/dept/old/texinfo/cvs/FAQ.txt">An old but very useful FAQ about CVS</a> + </p> + </blockquote> + + <h4>Documentation about Subversion</h3> + <blockquote> + <p> + <a href="http://svnbook.red-bean.com/"><em>Version Control with + Subversion</em></a><br /> + </p> + </blockquote> + </td></tr></table> + <hr /> + <address><a href="mailto:users@viewvc.tigris.org">ViewVC Users Mailinglist</a></address> + </body> +</html> diff --git a/docroot/images/annotate.png b/docroot/images/annotate.png Binary files differnew file mode 100644 index 0000000..ed2d33b --- /dev/null +++ b/docroot/images/annotate.png diff --git a/docroot/images/back.png b/docroot/images/back.png Binary files differnew file mode 100644 index 0000000..65f4631 --- /dev/null +++ b/docroot/images/back.png diff --git a/docroot/images/back_small.png b/docroot/images/back_small.png Binary files differnew file mode 100644 index 0000000..a057c3f --- /dev/null +++ b/docroot/images/back_small.png diff --git a/docroot/images/broken.png b/docroot/images/broken.png Binary files differnew file mode 100644 index 0000000..cdaf236 --- /dev/null +++ b/docroot/images/broken.png diff --git a/docroot/images/chalk.jpg b/docroot/images/chalk.jpg Binary files differnew file mode 100644 index 0000000..73c9533 --- /dev/null +++ b/docroot/images/chalk.jpg diff --git a/docroot/images/cvsgraph_16x16.png b/docroot/images/cvsgraph_16x16.png Binary files differnew file mode 100644 index 0000000..6f5bece --- /dev/null +++ b/docroot/images/cvsgraph_16x16.png diff --git a/docroot/images/cvsgraph_32x32.png b/docroot/images/cvsgraph_32x32.png Binary files differnew file mode 100644 index 0000000..f1ccc45 --- /dev/null +++ b/docroot/images/cvsgraph_32x32.png diff --git a/docroot/images/diff.png b/docroot/images/diff.png Binary files differnew file mode 100644 index 0000000..9047bfe --- /dev/null +++ b/docroot/images/diff.png diff --git a/docroot/images/dir.png b/docroot/images/dir.png Binary files differnew file mode 100644 index 0000000..a11e7eb --- /dev/null +++ b/docroot/images/dir.png diff --git a/docroot/images/down.png b/docroot/images/down.png Binary files differnew file mode 100644 index 0000000..5644d63 --- /dev/null +++ b/docroot/images/down.png diff --git a/docroot/images/download.png b/docroot/images/download.png Binary files differnew file mode 100644 index 0000000..0fbfe43 --- /dev/null +++ b/docroot/images/download.png diff --git a/docroot/images/favicon.ico b/docroot/images/favicon.ico Binary files differnew file mode 100644 index 0000000..9ba7f80 --- /dev/null +++ b/docroot/images/favicon.ico diff --git a/docroot/images/feed-icon-16x16.jpg b/docroot/images/feed-icon-16x16.jpg Binary files differnew file mode 100644 index 0000000..0c72133 --- /dev/null +++ b/docroot/images/feed-icon-16x16.jpg diff --git a/docroot/images/forward.png b/docroot/images/forward.png Binary files differnew file mode 100644 index 0000000..d8185ac --- /dev/null +++ b/docroot/images/forward.png diff --git a/docroot/images/list.png b/docroot/images/list.png Binary files differnew file mode 100644 index 0000000..7995fdd --- /dev/null +++ b/docroot/images/list.png diff --git a/docroot/images/lock.png b/docroot/images/lock.png Binary files differnew file mode 100644 index 0000000..9e3bf42 --- /dev/null +++ b/docroot/images/lock.png diff --git a/docroot/images/log.png b/docroot/images/log.png Binary files differnew file mode 100644 index 0000000..d2da45b --- /dev/null +++ b/docroot/images/log.png diff --git a/docroot/images/text.png b/docroot/images/text.png Binary files differnew file mode 100644 index 0000000..6e050cd --- /dev/null +++ b/docroot/images/text.png diff --git a/docroot/images/up.png b/docroot/images/up.png Binary files differnew file mode 100644 index 0000000..625819f --- /dev/null +++ b/docroot/images/up.png diff --git a/docroot/images/view.png b/docroot/images/view.png Binary files differnew file mode 100644 index 0000000..a168c38 --- /dev/null +++ b/docroot/images/view.png diff --git a/docroot/images/viewvc-logo.png b/docroot/images/viewvc-logo.png Binary files differnew file mode 100644 index 0000000..6e16f3b --- /dev/null +++ b/docroot/images/viewvc-logo.png diff --git a/docroot/styles.css b/docroot/styles.css new file mode 100644 index 0000000..1ca1e9c --- /dev/null +++ b/docroot/styles.css @@ -0,0 +1,274 @@ +/*******************************/ +/*** ViewVC CSS Stylesheet ***/ +/*******************************/ + +/*** Standard Tags ***/ +html, body { + color: #000000; + background-color: #ffffff; + font-family: sans-serif; +} + +a:link { color: #0000ff; } +a:visited { color: #880088; } +a:active { color: #0000ff; } + +img { border: none; } +table { + width: 100%; + margin: 0; + border: none; +} +table.auto { + width: auto; +} +table.fixed { + width: 100%; + table-layout: fixed; +} +table.fixed td { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +tr, td, th { vertical-align: top; } +th { white-space: nowrap; } +form { margin: 0; } + + +/*** Icons ***/ +.vc_icon { + width: 16px; + height: 16px; + border: none; + padding: 0 1px; +} + + +/*** Navigation Headers ***/ +.vc_navheader { + background-color: #cccccc; + padding: .25em; +} +.vc_navheader .pathdiv { + padding: 0 3px; +} + + +/*** Table Headers ***/ +.vc_header { + text-align: left; + vertical-align: top; + background-color: #cccccc; +} +.vc_header_sort { + text-align: left; + background-color: #88ff88; +} + + +/*** Table Rows ***/ +.vc_row_even { + background-color: #ffffff; +} +.vc_row_odd { + background-color: #f0f0f0; +} +.vc_row_special { + background-color: #ffff7f; +} + + +/*** Log messages ***/ +.vc_log { + /* unfortunately, white-space: pre-wrap isn't widely supported ... */ + white-space: -moz-pre-wrap; /* Mozilla based browsers */ + white-space: -pre-wrap; /* Opera 4 - 6 */ + white-space: -o-pre-wrap; /* Opera >= 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ +} + + +/*** Properties Listing ***/ +.vc_properties { + margin: 1em 0; +} +.vc_properties h2 { + font-size: 115%; +} + + +/*** File Content Markup Styles ***/ +.vc_summary { + background-color: #eeeeee; +} +#vc_file td { + border-right-style: solid; + border-right-color: #505050; + text-decoration: none; + font-weight: normal; + font-style: normal; + padding: 1px 5px; +} +.vc_file_line_number { + border-right-width: 1px; + background-color: #eeeeee; + color: #505050; + text-align: right; +} +.vc_file_line_author, .vc_file_line_rev { + border-right-width: 1px; + text-align: right; +} +.vc_file_line_text { + border-right-width: 0px; + background-color: white; + font-family: monospace; + text-align: left; + white-space: pre; + width: 100%; +} +.pygments-c { color: #408080; font-style: italic } /* Comment */ +.pygments-err { border: 1px solid #FF0000 } /* Error */ +.pygments-k { color: #008000; font-weight: bold } /* Keyword */ +.pygments-o { color: #666666 } /* Operator */ +.pygments-cm { color: #408080; font-style: italic } /* Comment.Multiline */ +.pygments-cp { color: #BC7A00 } /* Comment.Preproc */ +.pygments-c1 { color: #408080; font-style: italic } /* Comment.Single */ +.pygments-cs { color: #408080; font-style: italic } /* Comment.Special */ +.pygments-gd { color: #A00000 } /* Generic.Deleted */ +.pygments-ge { font-style: italic } /* Generic.Emph */ +.pygments-gr { color: #FF0000 } /* Generic.Error */ +.pygments-gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.pygments-gi { color: #00A000 } /* Generic.Inserted */ +.pygments-go { color: #808080 } /* Generic.Output */ +.pygments-gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.pygments-gs { font-weight: bold } /* Generic.Strong */ +.pygments-gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.pygments-gt { color: #0040D0 } /* Generic.Traceback */ +.pygments-kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.pygments-kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.pygments-kp { color: #008000 } /* Keyword.Pseudo */ +.pygments-kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.pygments-kt { color: #B00040 } /* Keyword.Type */ +.pygments-m { color: #666666 } /* Literal.Number */ +.pygments-s { color: #BA2121 } /* Literal.String */ +.pygments-na { color: #7D9029 } /* Name.Attribute */ +.pygments-nb { color: #008000 } /* Name.Builtin */ +.pygments-nc { color: #0000FF; font-weight: bold } /* Name.Class */ +.pygments-no { color: #880000 } /* Name.Constant */ +.pygments-nd { color: #AA22FF } /* Name.Decorator */ +.pygments-ni { color: #999999; font-weight: bold } /* Name.Entity */ +.pygments-ne { color: #D2413A; font-weight: bold } /* Name.Exception */ +.pygments-nf { color: #0000FF } /* Name.Function */ +.pygments-nl { color: #A0A000 } /* Name.Label */ +.pygments-nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ +.pygments-nt { color: #008000; font-weight: bold } /* Name.Tag */ +.pygments-nv { color: #19177C } /* Name.Variable */ +.pygments-ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ +.pygments-w { color: #bbbbbb } /* Text.Whitespace */ +.pygments-mf { color: #666666 } /* Literal.Number.Float */ +.pygments-mh { color: #666666 } /* Literal.Number.Hex */ +.pygments-mi { color: #666666 } /* Literal.Number.Integer */ +.pygments-mo { color: #666666 } /* Literal.Number.Oct */ +.pygments-sb { color: #BA2121 } /* Literal.String.Backtick */ +.pygments-sc { color: #BA2121 } /* Literal.String.Char */ +.pygments-sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.pygments-s2 { color: #BA2121 } /* Literal.String.Double */ +.pygments-se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ +.pygments-sh { color: #BA2121 } /* Literal.String.Heredoc */ +.pygments-si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ +.pygments-sx { color: #008000 } /* Literal.String.Other */ +.pygments-sr { color: #BB6688 } /* Literal.String.Regex */ +.pygments-s1 { color: #BA2121 } /* Literal.String.Single */ +.pygments-ss { color: #19177C } /* Literal.String.Symbol */ +.pygments-bp { color: #008000 } /* Name.Builtin.Pseudo */ +.pygments-vc { color: #19177C } /* Name.Variable.Class */ +.pygments-vg { color: #19177C } /* Name.Variable.Global */ +.pygments-vi { color: #19177C } /* Name.Variable.Instance */ +.pygments-il { color: #666666 } /* Literal.Number.Integer.Long */ + + +/*** Diff Styles ***/ +.vc_diff_header { + background-color: #ffffff; +} +.vc_diff_chunk_header { + background-color: #99cccc; +} +.vc_diff_chunk_extra { + font-size: smaller; +} +.vc_diff_empty { + background-color: #cccccc; + font-family: sans-serif; + font-size: smaller; +} +.vc_diff_add { + background-color: #aaffaa; + font-family: sans-serif; + font-size: smaller; +} +.vc_diff_remove { + background-color: #ffaaaa; + font-family: sans-serif; + font-size: smaller; +} +.vc_diff_change { + background-color: #ffff77; + font-family: sans-serif; + font-size: smaller; +} +.vc_diff_change_empty { + background-color: #eeee77; + font-family: sans-serif; + font-size: smaller; +} +.vc_diff_nochange { + font-family: sans-serif; + font-size: smaller; +} +.vc_diff_line_number { +} +.vc_raw_diff { + background-color: #cccccc; + font-size: smaller; +} + + +/*** Intraline Diff Styles ***/ +.vc_idiff_add { + background-color: #aaffaa; +} +.vc_idiff_change { + background-color:#ffff77; +} +.vc_idiff_remove { + background-color:#ffaaaa; +} +.vc_idiff_empty { + background-color:#e0e0e0; +} +table.vc_idiff col.content { + width: 50%; +} +table.vc_idiff tbody { + font-family: monospace; + /* unfortunately, white-space: pre-wrap isn't widely supported ... */ + white-space: -moz-pre-wrap; /* Mozilla based browsers */ + white-space: -pre-wrap; /* Opera 4 - 6 */ + white-space: -o-pre-wrap; /* Opera >= 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ +} +table.vc_idiff tbody th { + background-color:#e0e0e0; + text-align:right; +} + + +/*** Query Form ***/ +.vc_query_form { + background-color: #e6e6e6; +} diff --git a/error.ezt b/error.ezt new file mode 100644 index 0000000..e1d61af --- /dev/null +++ b/error.ezt @@ -0,0 +1,51 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<!-- ViewVC :: http://www.viewvc.org/ --> +<head> +<title>ViewVC Exception</title> +</head> +<body> +<h3>An Exception Has Occurred</h3> + +[if-any msg] + <p>[msg]</p> +[end] + +[if-any status] + <h4>HTTP Response Status</h4> + <p><pre>[status]</pre></p> + <hr /> +[end] + +[if-any msg][else] +<h4>Python Traceback</h4> +<p><pre> +[stacktrace] +</pre></p> +[end] + +[# Here follows a bunch of space characters, present to ensure that + our error message is larger than 512 bytes so that IE's "Friendly + Error Message" won't show. For more information, see + http://oreillynet.com/onjava/blog/2002/09/internet_explorer_subverts_err.html] + + + + + + + + + + + + + + + + + + +</body> +</html> diff --git a/file.ezt b/file.ezt new file mode 100644 index 0000000..9ced2b5 --- /dev/null +++ b/file.ezt @@ -0,0 +1,123 @@ +[# ------------------------------------------------------------------------- ] +[# CUSTOMIZE ME: To avoid displaying "binary garbage" -- the contents of ] +[# files with non-human-readable file formats -- change the value of the ] +[# hide_binary_garbage variable below to 1. ] +[# ------------------------------------------------------------------------- ] + +[define hide_binary_garbage]0[end] + +[# ------------------------------------------------------------------------- ] + +[# setup page definitions] + [define page_title]Contents of /[where][end] + [define help_href][docroot]/help_rootview.html[end] +[# end] + +[include "include/header.ezt" "markup"] +[include "include/file_header.ezt"] +<hr /> +<div class="vc_summary"> +Revision [if-any revision_href]<a href="[revision_href]"><strong>[rev]</strong></a>[else]<strong>[rev]</strong>[end] - +([is annotation "annotated"]<a href="[view_href]"><strong>hide annotations</strong></a>[else]<a href="[annotate_href]"><strong>show annotations</strong></a>[end]) +[if-any download_href](<a href="[download_href]"><strong>download</strong></a>)[end] +[if-any download_text_href](<a href="[download_text_href]"><strong>as text</strong></a>)[end] + +[if-any vendor_branch] <em>(vendor branch)</em>[end] +<br /><em>[if-any date][date][else](unknown date)[end]</em> + [if-any ago]([ago] ago)[end] + by <em>[if-any author][author][else](unknown author)[end]</em> +[if-any orig_path] + <br />Original Path: <a href="[orig_href]"><em>[orig_path]</em></a> +[end] + +[if-any branches] + <br />Branch: <strong>[branches]</strong> +[end] +[if-any tags] + <br />CVS Tags: <strong>[tags]</strong> +[end] +[if-any branch_points] + <br />Branch point for: <strong>[branch_points]</strong> +[end] +[is roottype "cvs"] + [if-any changed] + <br />Changes since <strong>[prev]: [changed] lines</strong> + [end] +[end] +[if-any mime_type] + <br />File MIME type: [mime_type] +[end] +[is roottype "svn"][if-any size] + <br />File size: [size] byte(s) +[end][end] +[if-any lockinfo] + <br />Lock status: <img src="[docroot]/images/lock.png" alt="Locked" width="16" height="16" /> [lockinfo] +[end] +[is annotation "binary"] + <br /><strong>Unable to calculate annotation data on binary file contents.</strong> +[end] +[is annotation "error"] + <br /><strong>Error occurred while calculating annotation data.</strong> +[end] +[is state "dead"] + <br /><strong><em>FILE REMOVED</em></strong> +[end] +[if-any log] + <pre class="vc_log">[log]</pre> +[end] +</div> + +[if-any prefer_markup][define hide_binary_garbage]0[end][end] +[if-any image_src_href][define hide_binary_garbage]0[end][end] + +[is hide_binary_garbage "1"] +<p><strong>This file's contents are not viewable. + [if-any download_href]Please <a href="[download_href]">download</a> + this version of the file in order to view it.[end]</strong></p> +[else] + +[define last_rev]0[end] +[define rowclass]vc_row_even[end] + +[if-any lines] + +<div id="vc_file"> +<table cellspacing="0" cellpadding="0"> +[for lines] + [is lines.rev last_rev] + [else] + [is lines.rev rev] + [define rowclass]vc_row_special[end] + [else] + [is rowclass "vc_row_even"] + [define rowclass]vc_row_odd[end] + [else] + [define rowclass]vc_row_even[end] + [end] + [end] + [end] + + <tr class="[rowclass]" id="l[lines.line_number]"> + <td class="vc_file_line_number">[lines.line_number]</td> +[is annotation "annotated"] + <td class="vc_file_line_author">[is lines.rev last_rev] [else][lines.author][end]</td> + <td class="vc_file_line_rev">[is lines.rev last_rev] [else][if-any lines.diff_href]<a href="[lines.diff_href]">[end][lines.rev][if-any lines.diff_href]</a>[end][end]</td> +[end] + <td class="vc_file_line_text">[lines.text]</td> + </tr> + [define last_rev][lines.rev][end] +[end] +</table> +</div> + +[else] +[if-any image_src_href] +<div id="vc_file_image"> +<img src="[image_src_href]" alt="" /> +</div> +[end] +[end] +[end] + +[include "include/props.ezt"] +[include "include/footer.ezt"] diff --git a/graph.ezt b/graph.ezt new file mode 100644 index 0000000..5227abc --- /dev/null +++ b/graph.ezt @@ -0,0 +1,18 @@ +[# setup page definitions] + [define page_title]Graph of /[where][end] + [define help_href][docroot]/help_rootview.html[end] +[# end] + +[include "include/header.ezt" "graph"] +[include "include/file_header.ezt"] + +<hr /> + +<div style="text-align:center;"> +[imagemap] +<img usemap="#MyMapName" + src="[imagesrc]" + alt="Revisions of [where]" /> +</div> + +[include "include/footer.ezt"] diff --git a/include/diff_form.ezt b/include/diff_form.ezt new file mode 100644 index 0000000..7bf4cdd --- /dev/null +++ b/include/diff_form.ezt @@ -0,0 +1,67 @@ + <hr /> + <p><a name="diff"></a> + This form allows you to request diffs between any two revisions of this file. + For each of the two "sides" of the diff, +[if-any tags] + select a symbolic revision name using the selection box, or choose + 'Use Text Field' and enter a numeric revision. +[else] + enter a numeric revision. +[end] + </p> + <form method="get" action="[diff_select_action]" id="diff_select"> + + <table cellpadding="2" cellspacing="0" class="auto"> + <tr> + <td> </td> + <td> + [for diff_select_hidden_values]<input type="hidden" name="[diff_select_hidden_values.name]" value="[diff_select_hidden_values.value]"/>[end] + Diffs between +[if-any tags] + <select name="r1"> + <option value="text" selected="selected">Use Text Field</option> + [for tags] + <option value="[tags.rev]:[tags.name]">[tags.name]</option> + [end] + </select> + <input type="text" size="12" name="tr1" + value="[if-any rev_selected][rev_selected][else][first_revision][end]" + onchange="document.getElementById('diff_select').r1.selectedIndex=0" /> +[else] + <input type="text" size="12" name="r1" + value="[if-any rev_selected][rev_selected][else][first_revision][end]" /> +[end] + + and +[if-any tags] + <select name="r2"> + <option value="text" selected="selected">Use Text Field</option> + [for tags] + <option value="[tags.rev]:[tags.name]">[tags.name]</option> + [end] + </select> + <input type="text" size="12" name="tr2" + value="[last_revision]" + onchange="document.getElementById('diff_select').r2.selectedIndex=0" /> +[else] + <input type="text" size="12" name="r2" value="[last_revision]" /> +[end] + </td> + </tr> + <tr> + <td> </td> + <td> + Type of Diff should be a + <select name="diff_format" onchange="submit()"> + <option value="h" [is diff_format "h"]selected="selected"[end]>Colored Diff</option> + <option value="l" [is diff_format "l"]selected="selected"[end]>Long Colored Diff</option> + <option value="f" [is diff_format "f"]selected="selected"[end]>Full Colored Diff</option> + <option value="u" [is diff_format "u"]selected="selected"[end]>Unidiff</option> + <option value="c" [is diff_format "c"]selected="selected"[end]>Context Diff</option> + <option value="s" [is diff_format "s"]selected="selected"[end]>Side by Side</option> + </select> + <input type="submit" value=" Get Diffs " /> + </td> + </tr> + </table> + </form> diff --git a/include/dir_footer.ezt b/include/dir_footer.ezt new file mode 100644 index 0000000..5f25e69 --- /dev/null +++ b/include/dir_footer.ezt @@ -0,0 +1,9 @@ +[# if you want to disable tarball generation remove the following: ] +[if-any tarball_href] +<hr/> +<p style="margin:0;"><a href="[tarball_href]">Download GNU tarball</a></p> +[end] + +[include "props.ezt"] +[include "footer.ezt"] + diff --git a/include/dir_header.ezt b/include/dir_header.ezt new file mode 100644 index 0000000..01870bf --- /dev/null +++ b/include/dir_header.ezt @@ -0,0 +1,84 @@ +[# setup page definitions] + [define page_title]Index of /[where][end] + [define help_href][docroot]/help_[if-any where]dir[else]root[end]view.html[end] +[# end] + +[include "header.ezt" "directory"] + +[if-any where][else] + <!-- you may insert repository access instructions here --> +[end] + +<table class="auto"> +<tr><td>Files shown:</td><td><strong>[files_shown]</strong> +[is num_dead "0"] +[else] + [if-any attic_showing] + (<a href="[hide_attic_href]">Hide [num_dead] dead files</a>) + [else] + (<a href="[show_attic_href]">Show [num_dead] dead files</a>) + [end] +[end] +</td></tr> + +[is roottype "svn"] +<tr> + <td>Directory revision:</td> + <td><a href="[tree_rev_href]" title="Revision [tree_rev]">[tree_rev]</a>[if-any youngest_rev] (of <a href="[youngest_rev_href]" title="Revision [youngest_rev]">[youngest_rev]</a>)[end]</td> +</tr> +[end] +<tr> + <td>Sticky [is roottype "cvs"]Tag[else]Revision[end]:</td> + <td>[include "pathrev_form.ezt"]</td> +</tr> + +[if-any search_re_action] +<tr> + <td>Filter files by content:</td> + <td><form method="get" action="[search_re_action]" style="display: inline;"> + <div style="display: inline;"> + [for search_re_hidden_values]<input type="hidden" name="[search_re_hidden_values.name]" value="[search_re_hidden_values.value]"/>[end] + <input type="text" name="search" value="[search_re]" /> + <input type="submit" value="Search Regexp" /> + </div> + </form> + [if-any search_re] + <form method="get" action="[search_re_action]" style="display: inline;"> + <div style="display: inline;"> + [for search_re_hidden_values]<input type="hidden" name="[search_re_hidden_values.name]" value="[search_re_hidden_values.value]"/>[end] + <input type="submit" value="Show All Files" /> + </div> + </form> + [end] + </td> +</tr> +[end] + +[if-any queryform_href] +<tr> + <td>Query:</td> + <td><a href="[queryform_href]">Query revision history</a></td> +</tr> +[end] + +</table> + +[is picklist_len "0"] +[else] + [is picklist_len "1"] + [else] + <form method="get" action="[dir_paging_action]"> + [for dir_paging_hidden_values]<input type="hidden" name="[dir_paging_hidden_values.name]" value="[dir_paging_hidden_values.value]"/>[end] + <input type="submit" value="Go to:" /> + <select name="dir_pagestart" onchange="submit()"> + [for picklist] + <option [is picklist.count dir_pagestart]selected[end] value="[picklist.count]">Page [picklist.page]: [picklist.start] to [picklist.end]</option> + [end] + </select> + </form> + [end] +[end] + +<p><a name="dirlist"></a></p> +<hr /> + diff --git a/include/file_header.ezt b/include/file_header.ezt new file mode 100644 index 0000000..091331b --- /dev/null +++ b/include/file_header.ezt @@ -0,0 +1,16 @@ +<p style="margin:0;"> +[is pathtype "file"] +<a href="[up_href]"><img src="[docroot]/images/back_small.png" class="vc_icon" alt="Parent Directory" /> Parent Directory</a> +[if-any log_href] + | <a href="[log_href]"><img src="[docroot]/images/log.png" class="vc_icon" alt="Revision Log" /> Revision Log</a> +[end] +[if-any graph_href] + | <a href="[graph_href]"><img src="[docroot]/images/cvsgraph_16x16.png" class="vc_icon" alt="View Revision Graph" /> Revision Graph</a> +[end] +[is view "diff"] + | <a href="[patch_href]"><img src="[docroot]/images/diff.png" class="vc_icon" alt="View Patch" /> Patch</a> +[end] +[else] +<a href="[view_href]"><img src="[docroot]/images/dir.png" class="vc_icon" alt="View Directory Listing" /> Directory Listing</a> +[end] +</p> diff --git a/include/footer.ezt b/include/footer.ezt new file mode 100644 index 0000000..9ad673b --- /dev/null +++ b/include/footer.ezt @@ -0,0 +1,17 @@ +[# standard footer used by all ViewVC pages ] + +<hr /> + +<table> +<tr> + <td>[if-any cfg.general.address]<address><a href="mailto:[cfg.general.address]">[cfg.general.address]</a></address>[else] [end]</td> + <td style="text-align: right;"><strong><a href="[help_href]">ViewVC Help</a></strong></td> +</tr> +<tr> + <td>Powered by <a href="http://viewvc.tigris.org/">ViewVC [vsn]</a></td> + <td style="text-align: right;">[if-any rss_href]<a href="[rss_href]" title="RSS 2.0 feed"><img src="[docroot]/images/feed-icon-16x16.jpg" class="vc_icon" alt="RSS 2.0 feed" /></a>[else] [end]</td> +</tr> +</table> + +</body> +</html> diff --git a/include/header.ezt b/include/header.ezt new file mode 100644 index 0000000..6784114 --- /dev/null +++ b/include/header.ezt @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<!-- ViewVC :: http://www.viewvc.org/ --> +<head> + <title>[if-any rootname][[][rootname]][else]ViewVC[end] [page_title]</title> + <meta name="generator" content="ViewVC [vsn]" /> + <link rel="shortcut icon" href="[docroot]/images/favicon.ico" type="image/x-icon" /> + <link rel="stylesheet" href="[docroot]/styles.css" type="text/css" /> + [if-any rss_href]<link rel="alternate" type="application/rss+xml" title="RSS [[][rootname]][where]" href="[rss_href]" />[end] +</head> +<body> +<div class="vc_navheader"> +<table><tr> +<td><strong>[if-any roots_href]<a href="[roots_href]"><span class="pathdiv">/</span></a>[else]<span class="pathdiv">/</span>[end][if-any nav_path][for nav_path][if-any nav_path.href]<a href="[nav_path.href]">[end][if-index nav_path first][[][nav_path.name]][else][nav_path.name][end][if-any nav_path.href]</a>[end][if-index nav_path last][else]<span class="pathdiv">/</span>[end][end][end]</strong></td> +<td style="text-align: right;">[if-any username]Logged in as: <strong>[username]</strong>[end]</td> +</tr></table> +</div> + +<div style="float: right; padding: 5px;"><a href="http://www.viewvc.org/" title="ViewVC Home"><img src="[docroot]/images/viewvc-logo.png" alt="ViewVC logotype" width="240" height="70" /></a></div> +<h1>[page_title]</h1> + + diff --git a/include/log_footer.ezt b/include/log_footer.ezt new file mode 100644 index 0000000..b39c861 --- /dev/null +++ b/include/log_footer.ezt @@ -0,0 +1,10 @@ +[include "paging.ezt"] + +[is pathtype "file"] + [include "diff_form.ezt"] +[end] + +[include "sort.ezt"] + +[include "footer.ezt"] + diff --git a/include/log_header.ezt b/include/log_header.ezt new file mode 100644 index 0000000..34ed362 --- /dev/null +++ b/include/log_header.ezt @@ -0,0 +1,54 @@ +[# setup page definitions] + [define page_title]Log of /[where][end] + [define help_href][docroot]/help_log.html[end] +[# end] + +[include "header.ezt" "log"] +[include "file_header.ezt"] + +<hr /> + +<table class="auto"> + +[if-any default_branch] +<tr> + <td>Default branch:</td> + <td>[for default_branch]<a href="[default_branch.href]">[default_branch.name]</a>[if-index default_branch last][else], [end] +[end]</td> +</tr> +[end] + +[is pathtype "file"] +[if-any head_view_href] +<tr> + <td>Links to HEAD:</td> + <td> + (<a href="[head_view_href]">view</a>) + [if-any head_download_href](<a href="[head_download_href]">download</a>)[end] + [if-any head_download_text_href](<a href="[head_download_text_href]">as text</a>)[end] + [if-any head_annotate_href](<a href="[head_annotate_href]">annotate</a>)[end] + </td> +</tr> +[end] + +[if-any tag_view_href] +<tr> + <td>Links to [pathrev]:</td> + <td> + (<a href="[tag_view_href]">view</a>) + [if-any tag_download_href](<a href="[tag_download_href]">download</a>)[end] + [if-any tag_download_text_href](<a href="[tag_download_text_href]">as text</a>)[end] + [if-any tag_annotate_href](<a href="[tag_annotate_href]">annotate</a>)[end] + </td> +</tr> +[end] +[end] + +<tr> + <td>Sticky [is roottype "cvs"]Tag[else]Revision[end]:</td> + <td>[include "pathrev_form.ezt"]</td> +</tr> + +</table> + +[include "paging.ezt"] diff --git a/include/paging.ezt b/include/paging.ezt new file mode 100644 index 0000000..cad8c85 --- /dev/null +++ b/include/paging.ezt @@ -0,0 +1,20 @@ + [is picklist_len "0"] + [else] + [is picklist_len "1"] + [else] + <hr /> + <form method="get" action="[log_paging_action]"> + [for log_paging_hidden_values]<input type="hidden" name="[log_paging_hidden_values.name]" value="[log_paging_hidden_values.value]"/>[end] + <input type="submit" value="Go to:"> + <select name="log_pagestart" onchange="submit()"> + [for picklist] + [if-any picklist.more] + <option [is picklist.count log_pagestart]selected[end] value="[picklist.count]">Page [picklist.page]: [picklist.start] ...</option> + [else] + <option [is picklist.count log_pagestart]selected[end] value="[picklist.count]">Page [picklist.page]: [picklist.start] - [picklist.end]</option> + [end] + [end] + </select> + </form> + [end] + [end]
\ No newline at end of file diff --git a/include/pathrev_form.ezt b/include/pathrev_form.ezt new file mode 100644 index 0000000..33ff961 --- /dev/null +++ b/include/pathrev_form.ezt @@ -0,0 +1,53 @@ +<form method="get" action="[pathrev_action]" style="display: inline"> +<div style="display: inline"> +[for pathrev_hidden_values]<input type="hidden" name="[pathrev_hidden_values.name]" value="[pathrev_hidden_values.value]"/>[end] +[is roottype "cvs"] + [define pathrev_selected][pathrev][end] + <select name="pathrev" onchange="submit()"> + <option value=""></option> + [if-any branch_tags] + <optgroup label="Branches"> + [for branch_tags] + [is branch_tags pathrev] + <option selected>[branch_tags]</option> + [define pathrev_selected][end] + [else] + <option>[branch_tags]</option> + [end] + [end] + </optgroup> + [end] + <optgroup label="Non-branch tags"> + [for plain_tags] + [is plain_tags pathrev] + <option selected>[plain_tags]</option> + [define pathrev_selected][end] + [else] + <option>[plain_tags]</option> + [end] + [end] + </optgroup> + [if-any pathrev_selected] + <option selected>[pathrev_selected]</option> + [end] + </select> +[else] + <input type="text" name="pathrev" value="[pathrev]" size="6"/> +[end] +<input type="submit" value="Set" /> +</div> +</form> + +[if-any pathrev] +<form method="get" action="[pathrev_clear_action]" style="display: inline"> +<div style="display: inline"> +[for pathrev_clear_hidden_values]<input type="hidden" name="[pathrev_clear_hidden_values.name]" value="[pathrev_clear_hidden_values.value]"/>[end] +[if-any lastrev] + [is pathrev lastrev][else]<input type="submit" value="Set to [lastrev]" />[end] + (<i>Current path doesn't exist after revision <strong>[lastrev]</strong></i>) +[else] + <input type="submit" value="Clear" /> +[end] +</div> +</form> +[end] diff --git a/include/props.ezt b/include/props.ezt new file mode 100644 index 0000000..0f92c38 --- /dev/null +++ b/include/props.ezt @@ -0,0 +1,26 @@ +[if-any properties] +<hr/> +<div class="vc_properties"> +<h2>Properties</h2> +<table cellspacing="1" cellpadding="2" class="auto"> +<thead> + <tr> + <th class="vc_header_sort">Name</th> + <th class="vc_header">Value</th> + </tr> +</thead> +<tbody> +[for properties] + <tr class="vc_row_[if-index properties even]even[else]odd[end]"> + <td><strong>[properties.name]</strong></td> + [if-any properties.undisplayable] + <td><em>Property value is undisplayable.</em></td> + [else] + <td style="white-space: pre;">[properties.value]</td> + [end] + </tr> +[end] +</tbody> +</table> +</div> +[end] diff --git a/include/sort.ezt b/include/sort.ezt new file mode 100644 index 0000000..6d6d02f --- /dev/null +++ b/include/sort.ezt @@ -0,0 +1,17 @@ +[is roottype "svn"] +[else] +<form method="get" action="[logsort_action]"> + <div> + <hr /> + <a name="logsort"></a> + [for logsort_hidden_values]<input type="hidden" name="[logsort_hidden_values.name]" value="[logsort_hidden_values.value]"/>[end] + Sort log by: + <select name="logsort" onchange="submit()"> + <option value="cvs" [is logsort "cvs"]selected="selected"[end]>Not sorted</option> + <option value="date" [is logsort "date"]selected="selected"[end]>Commit date</option> + <option value="rev" [is logsort "rev"]selected="selected"[end]>Revision</option> + </select> + <input type="submit" value=" Sort " /> + </div> +</form> +[end]
\ No newline at end of file @@ -0,0 +1,150 @@ +[include "include/log_header.ezt"] + +[define first_revision][end] +[define last_revision][end] + +[for entries] +[if-index entries first][define first_revision][entries.rev][end][end] +[if-index entries last][define last_revision][entries.rev][end][end] + +<div> + <hr /> + + [is entries.state "dead"] + Revision <strong>[entries.rev]</strong> + [else] + <a name="rev[entries.rev]"></a> + [for entries.tag_names]<a name="[entries.tag_names]"></a> + [end] + [for entries.branch_names]<a name="[entries.branch_names]"></a> + [end] + + Revision [is roottype "svn"]<a href="[entries.revision_href]"><strong>[entries.rev]</strong></a>[else]<strong>[entries.rev]</strong>[end] - + [if-any entries.view_href] + [is pathtype "file"] + (<a href="[entries.view_href]">view</a>) + [else] + <a href="[entries.view_href]">Directory Listing</a> + [end] + [end] + [if-any entries.download_href](<a href="[entries.download_href]">download</a>)[end] + [if-any entries.download_text_href](<a href="[entries.download_text_href]">as text</a>)[end] + [if-any entries.annotate_href](<a href="[entries.annotate_href]">annotate</a>)[end] + + [is pathtype "file"] + [# if you don't want to allow select for diffs then remove this section] + [is entries.rev rev_selected] + - <strong>[[]selected]</strong> + [else] + - <a href="[entries.sel_for_diff_href]">[[]select for diffs]</a> + [end] + [end] + [end] + + [if-any entries.vendor_branch] + <em>(vendor branch)</em> + [end] + + <br /> + + [is roottype "svn"] + [if-index entries last]Added[else]Modified[end] + [end] + + <em>[if-any entries.date][entries.date][else](unknown date)[end]</em> + [if-any entries.ago]([entries.ago] ago)[end] + by <em>[if-any entries.author][entries.author][else](unknown author)[end]</em> + + [if-any entries.orig_path] + <br />Original Path: <a href="[entries.orig_href]"><em>[entries.orig_path]</em></a> + [end] + + [if-any entries.branches] + <br />Branch: + [for entries.branches] + <a href="[entries.branches.href]"><strong>[entries.branches.name]</strong></a>[if-index entries.branches last][else],[end] + [end] + [end] + + [if-any entries.tags] + <br />CVS Tags: + [for entries.tags] + <a href="[entries.tags.href]"><strong>[entries.tags.name]</strong></a>[if-index entries.tags last][else],[end] + [end] + [end] + + [if-any entries.branch_points] + <br />Branch point for: + [for entries.branch_points] + <a href="[entries.branch_points.href]"><strong>[entries.branch_points.name]</strong></a>[if-index entries.branch_points last][else],[end] + [end] + [end] + + [if-any entries.prev] + [if-any entries.changed] + [is roottype "cvs"] + <br />Changes since <strong>[entries.prev]: [entries.changed] lines</strong> + [end] + [end] + [end] + + [is roottype "svn"] + [if-any entries.size] + <br />File length: [entries.size] byte(s) + [end] + + [if-any entries.copy_path] + <br />Copied from: <a href="[entries.copy_href]"><em>[entries.copy_path]</em></a> revision [entries.copy_rev] + [end] + [end] + + [if-any entries.lockinfo] + <br />Lock status: <img src="[docroot]/images/lock.png" alt="Locked" width="16" height="16" /> [entries.lockinfo] + [end] + + [is entries.state "dead"] + <br /><strong><em>FILE REMOVED</em></strong> + [else] + [is pathtype "file"] + [if-any entries.prev] + <br />Diff to <a href="[entries.diff_to_prev_href]">previous [entries.prev]</a> + [if-any human_readable] + [else] + (<a href="[entries.diff_to_prev_href]&diff_format=h">colored</a>) + [end] + [end] + + [is roottype "cvs"] + [if-any entries.branch_point] + , to <a href="[entries.diff_to_branch_href]">branch point [entries.branch_point]</a> + [if-any human_readable] + [else] + (<a href="[entries.diff_to_branch_href]&diff_format=h">colored</a>) + [end] + [end] + + [if-any entries.next_main] + , to <a href="[entries.diff_to_main_href]">next main [entries.next_main]</a> + [if-any human_readable] + [else] + (<a href="[entries.diff_to_main_href]&diff_format=h">colored</a>) + [end] + [end] + [end] + + [if-any entries.diff_to_sel_href] + [if-any entries.prev], [else]<br />Diff[end] + to <a href="[entries.diff_to_sel_href]">selected [rev_selected]</a> + [if-any human_readable] + [else] + (<a href="[entries.diff_to_sel_href]&diff_format=h">colored</a>) + [end] + [end] + [end] + [end] + +<pre class="vc_log">[entries.log]</pre> +</div> +[end] + +[include "include/log_footer.ezt"] diff --git a/log_table.ezt b/log_table.ezt new file mode 100644 index 0000000..192fdf1 --- /dev/null +++ b/log_table.ezt @@ -0,0 +1,176 @@ +[include "include/log_header.ezt"] + +<hr /> +<table cellspacing="1" cellpadding="2"> +<thead> +<tr> + <th class="vc_header[is logsort "rev"]_sort[end]">Revision</th> + <th class="vc_header">Tasks</th> + [is pathtype "file"] + <th class="vc_header">Diffs</th> + [end] + [is roottype "cvs"] + <th class="vc_header">Branches/<br />Tags</th> + [end] + <th class="vc_header[is logsort "date"]_sort[end]">Age</th> + <th class="vc_header">Author</th> +</tr> +</thead> + +[define first_revision][end] +[define last_revision][end] + +[for entries] +[if-index entries first][define first_revision][entries.rev][end][end] +[if-index entries last][define last_revision][entries.rev][end][end] + <tbody> + <tr style="vertical-align: top;" class="vc_row_[if-index entries even]even[else]odd[end]"> + + [# Revision column] + <td rowspan="2"> + [is roottype "svn"]<a href="[entries.revision_href]"><strong>[entries.rev]</strong></a>[else]<strong>[entries.rev]</strong>[end] + <a name="rev[entries.rev]"></a> + </td> + + [# Tasks column] + <td> + [if-any entries.view_href] + [is pathtype "file"] + <a href="[entries.view_href]"><strong>View</strong></a><br /> + [else] + <a href="[entries.view_href]"><strong>Directory Listing</strong></a><br /> + [end] + [end] + [if-any entries.download_href]<a href="[entries.download_href]"><strong>Download</strong></a><br />[end] + [if-any entries.download_text_href]<a href="[entries.download_text_href]"><strong>As text</strong></a><br />[end] + [if-any entries.annotate_href]<a href="[entries.annotate_href]"><strong>Annotate</strong></a><br />[end] + </td> + + [is pathtype "file"] + <td> + [# Diffs column] + [is entries.state "dead"] + <strong><em>FILE REMOVED</em></strong> + [else] + [# if you don't want to allow select for diffs then remove this section] + [is entries.rev rev_selected] + <strong>[[]selected]</strong><br /> + [else] + <a href="[entries.sel_for_diff_href]"><strong>[[]select for diffs]</strong></a><br /> + [end] + [if-any entries.diff_to_sel_href] + <a href="[entries.diff_to_sel_href]"><strong>Diff to selected [rev_selected]</strong></a> + [if-any human_readable] + [else] + (<a href="[entries.diff_to_sel_href]&diff_format=h"><strong>colored</strong></a>) + [end]<br /> + [end] + [if-any entries.prev] + <a href="[entries.diff_to_prev_href]"><strong>Diff to previous [entries.prev]</strong></a> + [if-any human_readable] + [else] + (<a href="[entries.diff_to_prev_href]&diff_format=h"><strong>colored</strong></a>) + [end]<br /> + [end] + [end] + </td> + [end] + [is roottype "cvs"] + <td> + [# Branches column] + [if-any entries.vendor_branch] + <em>vendor branch</em><br /> + [end] + [if-any entries.branches] + [for entries.branches] + <a href="[entries.branches.href]"><strong>[entries.branches.name]</strong></a><br /> + [end] + [end] + [if-any entries.branch_points] + Branch point for: + [for entries.branch_points] + <a href="[entries.branch_points.href]"><strong>[entries.branch_points.name]</strong></a><br /> + [end] + [end] + [if-any entries.next_main] + <a href="[entries.diff_to_main_href]"><strong>Diff to next MAIN [entries.next_main]</strong></a> + [if-any human_readable] + [else] + (<a href="[entries.diff_to_main_href]&diff_format=h"><strong>colored</strong></a>) + [end]<br /> + [end] + [if-any entries.branch_point] + <a href="[entries.diff_to_branch_href]"><strong>Diff to branch point [entries.branch_point]</strong></a> + [if-any human_readable] + [else] + (<a href="[entries.diff_to_branch_href]&diff_format=h"><strong>colored</strong></a>) + [end]<br /> + [end] + + [# Tags ] + [if-any entries.tags] + <form method=get action="[pathrev_action]" > + [for pathrev_hidden_values]<input type="hidden" name="[pathrev_hidden_values.name]" value="[pathrev_hidden_values.value]"/>[end] + <select name="pathrev" onChange="submit()"> + <option value="" [is pathrev ""]selected[end]>Show all tags</option> + [for entries.tags] + <option [is pathrev entries.tags.name]selected[end]>[entries.tags.name]</option> + [end] + </select> + </form> + [else] + [end] + </td> + [end] + + [# Time column] + <td> + [is roottype "svn"] + [if-index entries last]Added[else]Modified[end] + [end] + [if-any entries.ago][entries.ago] ago<br />[end] + [if-any entries.date]<em>[entries.date]</em>[end] + [is roottype "cvs"] + [if-any entries.prev] + [if-any entries.changed] + <br />Changes since <strong>[entries.prev]: [entries.changed] lines</strong> + [end] + [end] + [end] + </td> + + [# Author column] + <td> + [entries.author] + </td> + + </tr> + <tr class="vc_row_[if-index entries even]even[else]odd[end]"> + <td colspan=5> + + [if-any entries.lockinfo] + <strong>Lock status</strong>: <img src="[docroot]/images/lock.png" alt="Locked" width="16" height="16" /> [entries.lockinfo]<br /> + [end] + + [is roottype "svn"] + [if-any entries.orig_path] + <strong>Original Path</strong>: <a href="[entries.orig_href]"><em>[entries.orig_path]</em></a><br /> + [end] + + [if-any entries.size] + <strong>File length: </strong>[entries.size] byte(s)<br /> + [end] + + [if-any entries.copy_path] + <strong>Copied from: </strong><a href="[entries.copy_href]"><em>[entries.copy_path]</em></a> revision [entries.copy_rev]<br /> + [end] + [end] + + <strong>Log: </strong><pre class="vc_log">[entries.log]</pre> + </td> + </tr> + </tbody> +[end] +</table> + +[include "include/log_footer.ezt"] diff --git a/query.ezt b/query.ezt new file mode 100644 index 0000000..fa33c00 --- /dev/null +++ b/query.ezt @@ -0,0 +1,241 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<!-- ViewVC :: http://www.viewvc.org/ --> +<head> + <title>Checkin Database Query</title> + <link rel="stylesheet" href="[docroot]/styles.css" type="text/css" /> +</head> + +<body> + +[# setup page definitions] + [define help_href][docroot]/help_query.html[end] +[# end] + + <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 <em>jpaint</em> and <em>gstein</em>, just type: <strong>jpaint, + gstein</strong> in the <em>Author</em> 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: + <strong>"jpaint", "gstein"</strong>. + </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 <strong>l</strong> is for wildcard + searches, and the wildcard charactor is a percent (<strong>%</strong>). The + command charactor for regular expressions is <strong>r</strong>, 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 <em>.py</em> extention is: + <strong>l"%.py"</strong> in the <em>File</em> input box. The same search done + with a regular expression is: <strong>r".*\.py"</strong>. + </p> + <p> + All search types can be mixed, as long as they are seperated by + commas. + </p> + +<form method="get" action=""> + +<div class="vc_query_form"> +<table cellspacing="0" cellpadding="2" class="auto"> + <tr> + <td> + <table> + <tr> + <td style="vertical-align: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 style="vertical-align:top;"> + + <table> + <tr> + <td align="left">Sort By:</td> + <td> + <select name="sortby"> + <option value="date" [is sortby "date"]selected="selected"[end]>Date</option> + <option value="author" [is sortby "author"]selected="selected"[end]>Author</option> + <option value="file" [is sortby "file"]selected="selected"[end]>File</option> + </select> + </td> + </tr> + <tr> + <td colspan="2"> + <table cellspacing="0" cellpadding="0"> + <tr> + <td>Date:</td> + </tr> + <tr> + <td><input type="radio" name="date" value="hours" + [is date "hours"]checked="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="checked"[end] /></td> + <td>In the last day</td> + </tr> + <tr> + <td><input type="radio" name="date" value="week" + [is date "week"]checked="checked"[end] /></td> + <td>In the last week</td> + </tr> + <tr> + <td><input type="radio" name="date" value="month" + [is date "month"]checked="checked"[end] /></td> + <td>In the last month</td> + </tr> + <tr> + <td><input type="radio" name="date" value="all" + [is date "all"]checked="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> +</div> + +</form> + +[is query "skipped"] +[else] +<p><strong>[num_commits]</strong> matches found.</p> + +[if-any commits] +<table cellspacing="0" cellpadding="2"> + <thead> + <tr class="vc_header"> + <th>Revision</th> + <th>File</th> + <th>Branch</th> + <th>+/-</th> + <th>Date</th> + <th>Author</th> +[# uncommment, if you want a separate Description column: (also see below) +<th>Description</th> +] + </tr> + </thead> +[for commits] + <tbody> + [for commits.files] + <tr class="vc_row_[if-index commits even]even[else]odd[end]"> + <td style="vertical-align:top;"> + [if-any commits.files.rev][commits.files.rev][else] [end] + </td> + <td style="vertical-align:top;">[commits.files.link]</td> + <td style="vertical-align:top;"> + [if-any commits.files.branch][commits.files.branch][else] [end] + </td> + <td style="vertical-align:top;"> + [is commits.files.type "Add"]<ins>[end] + [is commits.files.type "Change"]<a href="[commits.files.difflink]">[end] + [is commits.files.type "Remove"]<del>[end] + [commits.files.plus]/[commits.files.minus] + [is commits.files.type "Add"]</ins>[end] + [is commits.files.type "Change"]</a>[end] + [is commits.files.type "Remove"]</del>[end] + </td> + <td style="vertical-align:top;"> + [if-any commits.files.date][commits.files.date][else] [end] + </td> + <td style="vertical-align: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 style="vertical-align:top;" rowspan="{commits.num_files}"> + {commits.log} + </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 class="vc_row_[if-index commits even]even[else]odd[end]"> + <td> </td> + <td colspan="5"><strong>Log:</strong><br /> + <pre class="vc_log">[commits.log]</pre></td> + </tr> + [end] +[# ---] + [end] + </tbody> +[end] + + <tr class="vc_header"> + <th style="text-align:left;vertical-align:top;"> </th> + <th style="text-align:left;vertical-align:top;"> </th> + <th style="text-align:left;vertical-align:top;"> </th> + <th style="text-align:left;vertical-align:top;"> </th> + <th style="text-align:left;vertical-align:top;"> </th> + <th style="text-align:left;vertical-align:top;"> </th> +[# uncommment, if you want a separate Description column: + <th style="text-align:left;vertical-align:top;"> </th> +] + </tr> +</table> +[end] +[end] +[include "include/footer.ezt"] diff --git a/query_form.ezt b/query_form.ezt new file mode 100644 index 0000000..be10014 --- /dev/null +++ b/query_form.ezt @@ -0,0 +1,207 @@ +[# setup page definitions] + [define page_title]Query on /[where][end] + [define help_href][docroot]/help_rootview.html[end] +[# end] + +[include "include/header.ezt" "query"] + +<p><a href="[dir_href]"> +<img src="[docroot]/images/dir.png" class="vc_icon" alt="Directory" /> +Browse Directory</a></p> + +<form action="[query_action]" method="get"> + +<div class="vc_query_form"> + [for query_hidden_values]<input type="hidden" name="[query_hidden_values.name]" value="[query_hidden_values.value]"/>[end] +<table cellspacing="0" cellpadding="5" class="auto"> + [is roottype "cvs"] + [# For subversion, the branch field is not used ] + <tr> + <th style="text-align:right;vertical-align:top;">Branch:</th> + <td> + <input type="text" name="branch" value="[branch]" /><br /> + <label for="branch_match_exact"> + <input type="radio" name="branch_match" id="branch_match_exact" + value="exact" [is branch_match "exact"]checked="checked"[end] /> + Exact match + </label> + <label for="branch_match_glob"> + <input type="radio" name="branch_match" id="branch_match_glob" + value="glob" [is branch_match "glob"]checked="checked"[end] /> + Glob pattern match + </label> + <label for="branch_match_regex"> + <input type="radio" name="branch_match" id="branch_match_regex" + value="regex" [is branch_match "regex"]checked="checked"[end] /> + Regex match + </label> + <label for="branch_match_notregex"> + <input type="radio" name="branch_match" id="branch_match_notregex" + value="notregex" [is branch_match "notregex"]checked="checked"[end] /> + Regex doesn't match + </label> + </td> + </tr> + [end] + <tr> + <th style="text-align:right;vertical-align:top;">Subdirectory:</th> + <td> + <input type="text" name="dir" value="[dir]" /><br /> + (you can list multiple directories separated by commas) + </td> + </tr> + <tr> + <th style="text-align:right;vertical-align:top;">File:</th> + <td> + <input type="text" name="file" value="[file]" /><br /> + <label for="file_match_exact"> + <input type="radio" name="file_match" id="file_match_exact" + value="exact" [is file_match "exact"]checked="checked"[end] /> + Exact match + </label> + <label for="file_match_glob"> + <input type="radio" name="file_match" id="file_match_glob" + value="glob" [is file_match "glob"]checked="checked"[end] /> + Glob pattern match + </label> + <label for="file_match_regex"> + <input type="radio" name="file_match" id="file_match_regex" + value="regex" [is file_match "regex"]checked="checked"[end] /> + Regex match + </label> + <label for="file_match_notregex"> + <input type="radio" name="file_match" id="file_match_notregex" + value="notregex" [is file_match "notregex"]checked="checked"[end] /> + Regex doesn't match + </label> + </td> + </tr> + <tr> + <th style="text-align:right;vertical-align:top;">Who:</th> + <td> + <input type="text" name="who" value="[who]" /><br /> + <label for="who_match_exact"> + <input type="radio" name="who_match" id="who_match_exact" + value="exact" [is who_match "exact"]checked="checked"[end] /> + Exact match + </label> + <label for="who_match_glob"> + <input type="radio" name="who_match" id="who_match_glob" + value="glob" [is who_match "glob"]checked="checked"[end] /> + Glob pattern match + </label> + <label for="who_match_regex"> + <input type="radio" name="who_match" id="who_match_regex" + value="regex" [is who_match "regex"]checked="checked"[end] /> + Regex match + </label> + <label for="who_match_notregex"> + <input type="radio" name="who_match" id="who_match_notregex" + value="notregex" [is who_match "notregex"]checked="checked"[end] /> + Regex doesn't match + </label> + </td> + </tr> + <tr> + <th style="text-align:right;vertical-align:top;">Comment:</th> + <td> + <input type="text" name="comment" value="[comment]" /><br /> + <label for="comment_match_exact"> + <input type="radio" name="comment_match" id="comment_match_exact" + value="exact" [is comment_match "exact"]checked=""[end] /> + Exact match + </label> + <label for="comment_match_glob"> + <input type="radio" name="comment_match" id="comment_match_glob" + value="glob" [is comment_match "glob"]checked=""[end] /> + Glob pattern match + </label> + <label for="comment_match_regex"> + <input type="radio" name="comment_match" id="comment_match_regex" + value="regex" [is comment_match "regex"]checked=""[end] /> + Regex match + </label> + <label for="comment_match_notregex"> + <input type="radio" name="comment_match" id="comment_match_notregex" + value="notregex" [is comment_match "notregex"]checked=""[end] /> + Regex doesn't match + </label> + </td> + </tr> + <tr> + <th style="text-align:right;vertical-align:top;">Sort By:</th> + <td> + <select name="querysort"> + <option value="date" [is querysort "date"]selected="selected"[end]>Date</option> + <option value="author" [is querysort "author"]selected="selected"[end]>Author</option> + <option value="file" [is querysort "file"]selected="selected"[end]>File</option> + </select> + </td> + </tr> + <tr> + <th style="text-align:right;vertical-align:top;">Date:</th> + <td> + <table cellspacing="0" cellpadding="0"> + <tr> + <td><input type="radio" name="date" id="date_hours" + value="hours" [is date "hours"]checked="checked"[end] /></td> + <td> + <label for="date_hours">In the last</label> + <input type="text" name="hours" value="[hours]" size="4" /> + hours + </td> + </tr> + <tr> + <td><input type="radio" name="date" id="date_day" + value="day" [is date "day"]checked="checked"[end] /></td> + <td><label for="date_day">In the last day</label></td> + </tr> + <tr> + <td><input type="radio" name="date" id="date_week" + value="week" [is date "week"]checked="checked"[end] /></td> + <td><label for="date_week">In the last week</label></td> + </tr> + <tr> + <td><input type="radio" name="date" id="date_month" + value="month" [is date "month"]checked="checked"[end] /></td> + <td><label for="date_month">In the last month</label></td> + </tr> + <tr> + <td><input type="radio" name="date" id="date_all" + value="all" [is date "all"]checked="checked"[end] /></td> + <td><label for="date_all">Since the beginning of time</label></td> + </tr> + <tr> + <td><input type="radio" name="date" id="date_explicit" + value="explicit" [is date "explicit"]checked="checked"[end] /></td> + <td> + <label for="date_explicit">Between</label> + <input type="text" name="mindate" value="[mindate]" size="20" /> + and + <input type="text" name="maxdate" value="[maxdate]" size="20" /> + <br /> + (use the form <strong>yyyy-mm-dd hh:mm:ss</strong>) + </td> + </tr> + </table> + </td> + </tr> + <tr> + <th style="text-align:right;vertical-align:top;">Limit:</th> + <td> + Show at most + <input type="text" name="limit_changes" value="[limit_changes]" size="5" /> + changed files per commit.<br /> + (use 0 to show all files) + </td> + </tr> + <tr> + <td></td> + <td><input type="submit" value="Search" /></td> + </tr> +</table> +</div> + +</form> + +[include "include/footer.ezt"] diff --git a/query_results.ezt b/query_results.ezt new file mode 100644 index 0000000..c165a59 --- /dev/null +++ b/query_results.ezt @@ -0,0 +1,86 @@ +[# setup page definitions] + [define page_title]Query results on /[where][end] + [define help_href][docroot]/help_rootview.html[end] +[# end] + +[include "include/header.ezt"] + +<p><strong>[english_query]</strong></p> +[# <!-- {sql} --> ] +<p><a href="[queryform_href]">Modify query</a></p> +<p><a href="[backout_href]">Show commands which could be used to back out these changes</a></p> + +<p><strong>+[plus_count]/-[minus_count]</strong> lines changed.</p> + +[if-any commits] +<table cellspacing="1" cellpadding="2"> + <thead> + <tr> + <th class="vc_header">Revision</th> + <th class="vc_header[is querysort "file"]_sort[end]">File</th> +[if-any show_branch] + <th class="vc_header">Branch</th> +[end] + <th class="vc_header">+/-</th> + <th class="vc_header[is querysort "date"]_sort[end]">Date</th> + <th class="vc_header[is querysort "author"]_sort[end]">Author</th> +[# uncommment, if you want a separate Description column: (also see below) + <th class="vc_header">Description</th> +] + </tr> + </thead> +[for commits] + [for commits.files] + <tbody> + <tr class="vc_row_[if-index commits even]even[else]odd[end]"> + <td style="vertical-align: top;"> + [define rev_href][if-any commits.files.prefer_markup][commits.files.view_href][else][if-any commits.files.download_href][commits.files.download_href][end][end][end] + [if-any commits.files.rev][if-any rev_href]<a href="[rev_href]">[end][commits.files.rev][if-any rev_href]</a>[end][else] [end] + </td> + <td style="vertical-align: top;"> + <a href="[commits.files.dir_href]">[commits.files.dir]/</a> + <a href="[commits.files.log_href]">[commits.files.file]</a> + </td> +[if-any show_branch] + <td style="vertical-align: top;"> + [if-any commits.files.branch][commits.files.branch][else] [end] + </td> +[end] + <td style="vertical-align: top;"> + [# only show a diff link for changes ] + [is commits.files.type "Add"]<ins>[end] + [is commits.files.type "Change"]<a href="[commits.files.diff_href]">[end] + [is commits.files.type "Remove"]<del>[end] + [commits.files.plus]/[commits.files.minus] + [is commits.files.type "Add"]</ins>[end] + [is commits.files.type "Change"]</a>[end] + [is commits.files.type "Remove"]</del>[end] + </td> + <td style="vertical-align: top;"> + [if-any commits.files.date][commits.files.date][else] [end] + </td> + <td style="vertical-align: top;"> + [if-any commits.files.author][commits.files.author][else] [end] + </td> + </tr> + [end] + [if-any commits.limited_files] + <tr class="vc_row_[if-index commits even]even[else]odd[end]"> + <td> </td> + <td colspan="5"> + <strong><em><small>Only first [commits.num_files] files shown. + <a href="[limit_changes_href]">Show all files</a> or + <a href="[queryform_href]">adjust limit</a>.</small></em></strong> + </tr> + [end] + <tr class="vc_row_[if-index commits even]even[else]odd[end]"> + <td> </td> + <td colspan="5"><strong>Log:</strong><br /> + <pre class="vc_log">[commits.log]</pre></td> + </tr> + </tbody> +[end] +</table> +[end] + +[include "include/footer.ezt"] diff --git a/revision.ezt b/revision.ezt new file mode 100644 index 0000000..2732a80 --- /dev/null +++ b/revision.ezt @@ -0,0 +1,80 @@ +[# setup page definitions] + [define page_title]Revision [rev][end] + [define help_href][docroot]/help_rootview.html[end] +[# end] + +[include "include/header.ezt" "revision"] + +<hr /> +<form method="get" action="[jump_rev_action]"> +<table cellspacing="1" cellpadding="2" style="width: auto;"> + <tr align="left"> + <th>Jump to revision:</th> + <td> + [for jump_rev_hidden_values]<input type="hidden" name="[jump_rev_hidden_values.name]" value="[jump_rev_hidden_values.value]"/>[end] + <input type="text" name="revision" value="[rev]" /> + <input type="submit" value="Go" /> + [if-any prev_href] + <a href="[prev_href]" title="Previous Revision"><img src="[docroot]/images/back.png" alt="Previous" width="20" height="22" /></a>[end] + [if-any next_href] <a href="[next_href]" title="Next Revision"><img src="[docroot]/images/forward.png" width="20" height="22" alt="Next" /></a>[end] + </td> + </tr> + <tr align="left"> + <th>Author:</th> + <td>[if-any author][author][else]<em>(unknown author)</em>[end]</td> + </tr> + <tr align="left"> + <th>Date:</th> + <td>[if-any date][date][else]<em>(unknown date)</em>[end] + [if-any ago]<em>([ago] ago)</em>[end]</td> + </tr> + <tr align="left"> + <th>Changed paths:</th> + <td><strong>[num_changes]</strong> + [if-any more_changes](showing only [limit_changes]; <a href="[more_changes_href]">show all</a>)[end][if-any first_changes](<a href="[first_changes_href]">show only first [first_changes]</a>)[end]</td> + </tr> + <tr align="left"> + <th>Log Message:</th> + <td><pre class="vc_log">[log]</pre></td> + </tr> +</table> +</form> + +<hr /> + +<p><strong>Changed paths:</strong></p> + +<table cellspacing="1" cellpadding="2"> + <thead> + <tr align="left"> + <th class="vc_header_sort">Path</th> + <th class="vc_header">Details</th> + </tr> + </thead> + <tbody> + [if-any changes] + [for changes] + <tr class="vc_row_[if-index changes even]even[else]odd[end]"> + <td>[if-any changes.view_href]<a href="[changes.view_href]" title="View [is changes.pathtype "dir"]Directory[else]File[end] Contents">[end]<img src="[docroot]/images/[is changes.pathtype "dir"]dir[else]text[end].png" class="vc_icon" alt="Directory" />[changes.path][is changes.pathtype "dir"]/[end][if-any changes.view_href]</a>[end] + [if-any changes.is_copy]<br /><em>(Copied from [changes.copy_path], r[changes.copy_rev])</em>[end] + </td> + <td>[if-any changes.log_href]<a href="[changes.log_href]" title="View Log">[end][changes.action][if-any changes.log_href]</a>[end] + [if-any changes.text_mods], [if-any changes.diff_href]<a href="[changes.diff_href]" title="View Diff">[end]text changed[if-any changes.diff_href]</a>[end][end] + [if-any changes.prop_mods], props changed[end] + </td> + </tr> + [end] + [else] + <tr> + <td colspan="5">No changed paths.</td> + </tr> + [end] + [if-any more_changes] + <tr> + <td colspan="5">[[]<a href="[more_changes_href]">...</a>]</td> + </tr> + [end] + </tbody> +</table> + +[include "include/footer.ezt"] diff --git a/roots.ezt b/roots.ezt new file mode 100644 index 0000000..5d939ca --- /dev/null +++ b/roots.ezt @@ -0,0 +1,29 @@ +[# setup page definitions] + [define page_title]Repository Listing[end] + [define help_href][docroot]/help_rootview.html[end] +[# end] + +[include "include/header.ezt" "directory"] + +<table cellspacing="1" cellpadding="2"> +<thead> +<tr> + <th class="vc_header_sort">Name</th> +</tr> +</thead> + +<tbody> +[for roots] + <tr class="vc_row_[if-index roots even]even[else]odd[end]"> + <td> + <a href="[roots.href]"> + <img src="[docroot]/images/dir.png" alt="" class="vc_icon" /> + [roots.name]</a> + </td> + </tr> +[end] +</tbody> + +</table> + +[include "include/footer.ezt"] @@ -0,0 +1,17 @@ +<?xml version="1.0"?> +<rss version="2.0"> +<channel> + <link>[rss_link_href]</link> + <title>[rootname] checkins[if-any where] (in [where])[end]</title> + + <description>[is roottype "svn"]Subversion[else]CVS[end] commits to the[if-any where] [where] directory of the[end] [rootname] repository</description> + + [for commits]<item> + <title>[if-any commits.rev][commits.rev]: [end][[commits.author]] [commits.short_log]</title> + [if-any commits.rss_url]<link>[commits.rss_url]</link>[end] + <author>[commits.author]</author> + <pubDate>[if-any commits.rss_date][commits.rss_date][else](unknown date)[end]</pubDate> + <description><pre>[format "xml"][commits.log][end]</pre></description> + </item>[end] +</channel> +</rss> |