[-]
[+]
|
Changed |
viewvc.changes
|
|
[-]
[+]
|
Changed |
viewvc.spec
^
|
|
[-]
[+]
|
Changed |
viewvc-buglink.patch
^
|
@@ -2,53 +2,23 @@
http://sourceforge.net/tracker/index.php?func=detail&aid=986023&group_id=18760&atid=318760
lib/config.py | 1 +
- lib/viewvc.py | 22 +++++++++++++---------
+ lib/viewvc.py | 21 ++++++++++++---------
viewvc.conf.dist | 15 +++++++++++++++
- 3 files changed, 29 insertions(+), 9 deletions(-)
+ 3 files changed, 28 insertions(+), 9 deletions(-)
-Index: viewvc.conf.dist
-===================================================================
---- viewvc.conf.dist.orig
-+++ viewvc.conf.dist
-@@ -257,6 +257,21 @@ languages = en-us
- #---------------------------------------------------------------------------
- [options]
-
-+# The 'buglink_base' value is a string that can be used to form a URL
-+# by appending a bug number. If viewvc sees something that looks
-+# like a bug number in a log message (eg. "bug 12345" or "#12345"), it
-+# will be displayed as a link to the bug in your bug tracking system.
-+#
-+# For a Bugzilla installation, you probably want to set this to
-+# something like "http://hostname/show_bug.cgi?id=". For the Debian
-+# bug tracker, you might use
-+# "http://hostname/cgi-bin/bugreport.cgi?bug=".
-+#
-+# If 'buglink_base' is not set, then bug tracker links won't be
-+# generated.
-+#
-+# buglink_base = http://example.com/show_bug.cgi?id=
-+
- # root_as_url_component: Interpret the first path component in the URL
- # after the script location as the root to use. This is an
- # alternative to using the "root=" query key. If ViewVC is configured
-Index: lib/config.py
-===================================================================
---- lib/config.py.orig
-+++ lib/config.py
-@@ -221,6 +221,7 @@ class Config:
+--- a/lib/config.py
++++ b/lib/config.py
+@@ -224,6 +224,7 @@ class Config:
self.options.use_localtime = 0
self.options.http_expiration_time = 600
self.options.generate_etags = 1
+ self.options.buglink_base = None
- def is_forbidden(self, module):
- if not module:
-Index: lib/viewvc.py
-===================================================================
---- lib/viewvc.py.orig
-+++ lib/viewvc.py
-@@ -970,14 +970,18 @@ def get_file_view_info(request, where, r
+ def is_forbidden(self, root, path_parts, pathtype):
+ # If we don't have a root and path to check, get outta here.
+--- a/lib/viewvc.py
++++ b/lib/viewvc.py
+@@ -982,17 +982,20 @@ def get_file_view_info(request, where, r
# addresses. Note that the regexps assume the text is already HTML-encoded.
_re_rewrite_url = re.compile('((http|https|ftp|file|svn|svn\+ssh)(://[-a-zA-Z0-9%.~:_/]+)((\?|\&)([-a-zA-Z0-9%.~:_]+)=([-a-zA-Z0-9%.~:_])+)*(#([-a-zA-Z0-9%.~:_]+)?)?)')
_re_rewrite_email = re.compile('([-a-zA-Z0-9_.\+]+)@(([-a-zA-Z0-9]+\.)+[A-Za-z]{2,4})')
@@ -62,14 +32,16 @@
+ html = re.sub(_re_rewrite_bug, r'<a href="%s\2">\1</a>' % buglink, html)
return html
-+
- def format_log(log, cfg):
-- s = htmlify(log[:cfg.options.short_log_len])
-+ s = htmlify(log[:cfg.options.short_log_len], cfg.options.buglink_base)
+ def format_log(log, cfg, htmlize=1):
+ if not log:
+ return log
+ if htmlize:
+- s = htmlify(log[:cfg.options.short_log_len])
++ s = htmlify(log[:cfg.options.short_log_len], cfg.options.buglink_base)
+ else:
+ s = cgi.escape(log[:cfg.options.short_log_len])
if len(log) > cfg.options.short_log_len:
- s = s + '...'
- return s
-@@ -1394,7 +1398,7 @@ def view_markup(request):
+@@ -1412,7 +1415,7 @@ def view_markup(request):
'date' : make_time_string(entry.date, cfg),
'author' : entry.author,
'changed' : entry.changed,
@@ -78,7 +50,7 @@
'size' : entry.size,
})
-@@ -1651,7 +1655,7 @@ def view_directory(request):
+@@ -1673,7 +1676,7 @@ def view_directory(request):
'sortby' : sortby,
'sortdir' : sortdir,
'tarball_href' : None,
@@ -87,7 +59,7 @@
'dir_pagestart' : None,
'sortby_file_href' : request.get_url(params={'sortby': 'file',
'sortdir': None},
-@@ -1897,7 +1901,7 @@ def view_log(request):
+@@ -1921,7 +1924,7 @@ def view_log(request):
entry.ago = None
if rev.date is not None:
entry.ago = html_time(request, rev.date, 1)
@@ -96,7 +68,7 @@
entry.size = rev.size
entry.branch_point = None
entry.next_main = None
-@@ -2359,7 +2363,7 @@ def spaced_html_text(text, cfg):
+@@ -2395,7 +2398,7 @@ def spaced_html_text(text, cfg):
text = string.replace(text, ' ', ' \x01nbsp;')
else:
text = string.replace(text, ' ', '\x01nbsp;')
@@ -105,7 +77,7 @@
text = string.replace(text, '\x01', '&')
text = string.replace(text, '\x02', '<span style="color:red">\</span><br />')
return text
-@@ -2767,7 +2771,7 @@ def view_diff(request):
+@@ -2815,7 +2818,7 @@ def view_diff(request):
else:
changes = DiffSource(fp, cfg)
else:
@@ -114,7 +86,7 @@
data.update({
'date_left' : rcsdiff_date_reformat(date1, cfg),
-@@ -3051,7 +3055,7 @@ def view_revision(request):
+@@ -3139,7 +3142,7 @@ def view_revision(request):
'rev' : str(rev),
'author' : author,
'date' : date_str,
@@ -123,12 +95,36 @@
'ago' : None,
'changes' : changes,
'prev_href' : prev_rev_href,
-@@ -3202,7 +3206,7 @@ def build_commit(request, files, limited
- commit = _item(num_files=len(files), files=[])
- commit.limited_files = ezt.boolean(limited_files)
- desc = files[0].GetDescription()
+@@ -3401,7 +3404,7 @@ def build_commit(request, files, max_fil
+ commit = _item(num_files=len(commit_files), files=commit_files,
+ plus=plus_count, minus=minus_count)
+ commit.limited_files = ezt.boolean(num_allowed > len(commit_files))
- commit.log = htmlify(desc)
+ commit.log = htmlify(desc, request.cfg.options.buglink_base)
- commit.short_log = format_log(desc, request.cfg)
- commit.author = htmlify(files[0].GetAuthor())
- commit.rss_date = make_rss_time_string(files[0].GetTime(), request.cfg)
+ commit.short_log = format_log(desc, request.cfg, format != 'rss')
+ commit.author = request.server.escape(author)
+ commit.rss_date = make_rss_time_string(date, request.cfg)
+--- a/viewvc.conf.dist
++++ b/viewvc.conf.dist
+@@ -293,6 +293,21 @@ languages = en-us
+ #---------------------------------------------------------------------------
+ [options]
+
++# The 'buglink_base' value is a string that can be used to form a URL
++# by appending a bug number. If viewvc sees something that looks
++# like a bug number in a log message (eg. "bug 12345" or "#12345"), it
++# will be displayed as a link to the bug in your bug tracking system.
++#
++# For a Bugzilla installation, you probably want to set this to
++# something like "http://hostname/show_bug.cgi?id=". For the Debian
++# bug tracker, you might use
++# "http://hostname/cgi-bin/bugreport.cgi?bug=".
++#
++# If 'buglink_base' is not set, then bug tracker links won't be
++# generated.
++#
++# buglink_base = http://example.com/show_bug.cgi?id=
++
+ # root_as_url_component: Interpret the first path component in the URL
+ # after the script location as the root to use. This is an
+ # alternative to using the "root=" query key. If ViewVC is configured
|
|
Added |
viewvc-1.0.5.tar.gz
^
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/CHANGES
^
|
@@ -1,3 +1,20 @@
+Version 1.0.5 (released 28-Feb-2008)
+
+ * security fix: omit commits of all-forbidden files from query results
+ * security fix: disallow direct URL navigation to hidden CVSROOT folder
+ * security fix: strip forbidden paths from revision view
+ * security fix: don't traverse log history thru forbidden locations
+ * security fix: honor forbiddenness via diff view path parameters
+ * new 'forbiddenre' regexp-based path authorization feature
+ * fix root name conflict resolution inconsistencies (issue #287)
+ * fix an oversight in the CVS 1.12.9 loginfo-handler support
+ * fix RSS feed content type to be more specific (issue #306)
+ * fix entity escaping problems in RSS feed data (issue #238)
+ * fix bug in tarball generation for remote Subversion repositories
+ * fix query interface file-count-limiting logic
+ * fix query results plus/minus count to ignore forbidden files
+ * fix blame error caused by 'svn' unable to create runtime config dir
+
Version 1.0.4 (released 10-Apr-2007)
* fix some markup bugs in query views (issue #266)
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/INSTALL
^
|
@@ -260,6 +260,16 @@
http://<server_name>/viewvc/~checkout~/<module_name>
http://<server_name>/viewvc/<module_name>.tar.gz?view=tar
+5) Optional: Protect your ViewVC instance from server-whacking webcrawlers.
+
+ As ViewVC is a web-based application which each page containing various
+ links to other pages and views, you can expect your server's performance
+ to suffer if a webcrawler finds your ViewVC instance and begins
+ traversing those links. We highly recommend that you add your ViewVC
+ location to a site-wide robots.txt file. Visit the Wikipedia page
+ for Robots.txt (http://en.wikipedia.org/wiki/Robots.txt) for more
+ information.
+
UPGRADING VIEWVC
-----------------
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/LICENSE.html
^
|
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+<title>ViewVC: License v1</title>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+</head>
+<body>
+
+<p>The following text constitutes the license agreement for the <a
+ href="http://www.viewvc.org/">ViewVC</a> software (formerly known
+ as ViewCVS). It is an agreement between <a
+ href="http://www.viewvc.org/who.html#sec-viewcvs-group">The ViewCVS
+ Group</a> and the users of ViewVC.</p>
+
+<blockquote>
+
+<p><strong>Copyright © 1999-2008 The ViewCVS Group. All rights
+ reserved.</strong></p>
+
+<p>By using ViewVC, you agree to the terms and conditions set forth
+ below:</p>
+
+<p>Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:</p>
+
+<ol>
+ <li>Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following
+ disclaimer.</li>
+ <li>Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.</li>
+</ol>
+
+<p>THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.</p>
+
+</blockquote>
+
+<hr />
+
+<p>The following changes have occured to this license over time:</p>
+<ul>
+ <li>May 12, 2001 — copyright years updated</li>
+ <li>September 5, 2002 — copyright years updated</li>
+ <li>March 17, 2006 — software renamed from "ViewCVS"</li>
+ <li>April 10, 2007 — copyright years updated</li>
+ <li>February 22, 2008 — copyright years updated</li>
+</ul>
+
+</body>
+</html>
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/bin/loginfo-handler
^
|
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# -*-python-*-
#
-# Copyright (C) 1999-2006 The ViewCVS Group. All Rights Reserved.
+# Copyright (C) 1999-2007 The ViewCVS Group. All Rights Reserved.
#
# By using this file, you agree to the terms and conditions set forth in
# the LICENSE.html file which can be found at the top level of the ViewVC
@@ -77,6 +77,8 @@
if args[1] == '- New directory':
return None, None
+ elif args[1] == '- Imported sources':
+ return None, None
else:
directory = args.pop(0)
files = []
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/bin/make-database
^
|
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# -*-python-*-
#
-# Copyright (C) 1999-2006 The ViewCVS Group. All Rights Reserved.
+# Copyright (C) 1999-2007 The ViewCVS Group. All Rights Reserved.
#
# By using this file, you agree to the terms and conditions set forth in
# the LICENSE.html file which can be found at the top level of the ViewVC
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/docs
^
|
+(directory)
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/docs/template-authoring-guide.html
^
|
@@ -0,0 +1,1969 @@
+<html>
+<head>
+<title>ViewVC 1.0 Template Authoring Guide</title>
+<style>
+body {
+ background-color: rgb(180,193,205);
+ color: black;
+ font-family: sans-serif;
+}
+table { margin-left: 1em; }
+td, th { padding: 0 0.5em; }
+th {
+ vertical-align: bottom;
+ background: rgb(60%,70%,90%);
+}
+td {
+ vertical-align: top;
+}
+.h2, .h3 {
+ padding: 0.5em 1em;
+ border-color: black;
+ border-style: solid;
+ margin-bottom: 1em;
+ background: white;
+}
+.h2 { border-width: 1px 2px 2px 1px; }
+.h3 { border-width: 1px 0 0 0; }
+.include { background: rgb(55%,80%,55%); font-style: italic; }
+.varlevel1 { background: rgb(65%,85%,65%); }
+.varlevel2 { background: rgb(70%,90%,70%); }
+.varlevel3 { background: rgb(75%,95%,75%); }
+.varname { font-family: monospace; }
+.varlevel1 .varname { padding-left: 0; }
+.varlevel2 .varname { padding-left: 2em; }
+.varlevel3 .varname { padding-left: 4em; }
+.toc-list { font-size: 90%; }
+</style>
+</head>
+<body>
+
+<h1>ViewVC 1.0 Template Authoring Guide</h1>
+
+<div class="h2">
+<h2 id="introduction">Introduction</h2>
+
+<p>This document represents an (unfinished) attempt at providing
+ documentation for how to customize ViewVC 1.0-dev's HTML output via
+ modification of its templates.</p>
+
+</div>
+
+<div class="h2">
+<h2 id="toc">Table of Contents</h2>
+<ul class="toc-list">
+ <li><a href="#introduction">Introduction</a></li>
+ <li><a href="#ezt">Using EZT</a></li>
+ <li><a href="#variables">Variables Available to ViewVC Templates</a></li>
+ <ul class="toc-list">
+ <li><a href="#variables-common">Common Template Variable Set (COMMON)</a></li>
+ <li><a href="#variables-navdata">File Navigation Variable Set (NAVDATA)</a></li>
+ <li><a href="#variables-pathrev">Path Revision Form Variable Set (PATHREV)</a></li>
+ <li><a href="#variables-paging">Paging Form Variable Set (PAGING)</a></li>
+ <li><a href="#variables-annotate">Annotation View (annotate.ezt)</a></li>
+ <li><a href="#variables-graph">Revision Graph View (graph.ezt)</a></li>
+ <li><a href="#variables-diff">File Difference View (diff.ezt)</a></li>
+ <li><a href="#variables-directory">Directory Listing View (directory.ezt)</a></li>
+ <li><a href="#variables-error">Error View (error.ezt)</a></li>
+ <li><a href="#variables-log">Revision Log View (log.ezt)</a></li>
+ <li><a href="#variables-markup">File Contents View (markup.ezt)</a></li>
+ <li><a href="#variables-query_results">Revision History Query Results View (query_results.ezt)</a></li>
+ <li><a href="#variables-query_form">Revision History Query Form View (query_form.ezt)</a></li>
+ <li><a href="#variables-revision">Revision/ChangeSet View (revision.ezt)</a></li>
+ <li><a href="#variables-roots">Root Listing View (roots.ezt)</a></li>
+ </ul>
+</ul>
+</div>
+
+<div class="h2">
+<h2 id="ezt">Using EZT</h2>
+
+<p>### TODO ###</p>
+
+</div>
+
+<div class="h2">
+<h2 id="variables">Variables Available to ViewVC Templates</h2>
+
+<div class="h3">
+<h3 id="variables-common">Common Template Variable Set (COMMON)</h3>
+<table>
+<thead>
+<tr>
+ <th>Variable</th>
+ <th>Type</th>
+ <th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="varlevel1">
+ <td class="varname">cfg</td>
+ <td>Object</td>
+ <td>Representation of the object used by ViewVC for runtime
+ configuration parameters such as those parsed from
+ <tt>viewvc.conf</tt>. Dot-qualified children of this object
+ map to configuration sections and option keys. For example,
+ <var>cfg.options.show_logs</var> contains the value of the
+ <var>show_logs</var> variable in the <var>options</var> section
+ of the configuration file.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">change_root_action</td>
+ <td>String</td>
+ <td>Form action URL for the root selection form.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">change_root_hidden_values</td>
+ <td>String</td>
+ <td>Hidden value HTML markup for the root selection form.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">docroot</td>
+ <td>String</td>
+ <td>URL of the static documents directory, generally used for
+ referencing stylesheets and images stored in and under that
+ directory (which is typically relative to the template
+ location).</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">graph_href</td>
+ <td>String</td>
+ <td>URL of the ViewVC revision graph view for the current
+ resource.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">kv</td>
+ <td>Object</td>
+ <td>Representation of the object used by ViewVC for user-defined
+ key/value mappings. Dot-qualified children of this object map
+ to named key/value files and the sections and keys within
+ them. For example, <var>kv.l10n.labels.directory</var>
+ maps to the value of the <var>directory</var> key under the
+ <var>labels</var> section of the key/value file whose configured
+ abstract name is <var>l10n</var>.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">log_href</td>
+ <td>String</td>
+ <td>URL of the ViewVC revision log view for the current
+ resource.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">log_rev_href</td>
+ <td>String</td>
+ <td>Revision number of the file-revision currently being viewed, or
+ None.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">nav_path</td>
+ <td>List</td>
+ <td>Ordered list of path components from the repository root to the
+ current resource.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">nav_path.href</td>
+ <td>String</td>
+ <td>URL of the default ViewVC view for the path component.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">nav_path.name</td>
+ <td>String</td>
+ <td>Name of the path component.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">pathtype</td>
+ <td>String</td>
+ <td>Path kind of the current resource. Valid values: <tt>file</tt>
+ (file), <tt>dir</tt> (directory); may be empty.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">rootname</td>
+ <td>String</td>
+ <td>Name of the current repository (root).</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">roots</td>
+ <td>List</td>
+ <td>Set of configured viewable repositories.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">roots.name</td>
+ <td>String</td>
+ <td>Name of a configured repository.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">roots.type</td>
+ <td>String</td>
+ <td>Version control type of a configured repository. Valid
+ values: <tt>cvs</tt>, <tt>svn</tt>.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">roots.href</td>
+ <td>String</td>
+ <td>URL of root directory view for a configured repository.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">roottype</td>
+ <td>String</td>
+ <td>Version control type of the current repository (root).
+ Valid values: <tt>cvs</tt> (CVS), <tt>svn</tt> (Subversion).</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">up_href</td>
+ <td>String</td>
+ <td>Link to the current object's parent directory view.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">view</td>
+ <td>String</td>
+ <td>Name of the current view. Valid values: <tt>annotate</tt>
+ (annotation view), <tt>diff</tt> (file difference view),
+ <tt>roots</tt> (root listing view), <tt>dir</tt> (directory
+ listing view), <tt>graph</tt> (revision graph view), <tt>log</tt>
+ (revision log view), <tt>markup</tt> (file contents view),
+ <tt>query</tt> (revision history query results view),
+ <tt>queryform</tt> (revision history query form view),
+ <tt>rev</tt> (revision/changeset view).</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">vsn</td>
+ <td>String</td>
+ <td>ViewVC version identifier.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">where</td>
+ <td>String</td>
+ <td>Path (relative to the current repository root) of the current
+ resource.</td>
+</tr>
+</tbody>
+</table>
+</div>
+
+<div class="h3">
+<h3 id="variables-navdata">File Navigation Variable Set (NAVDATA)</h3>
+<table>
+<thead>
+<tr>
+ <th>Variable</th>
+ <th>Type</th>
+ <th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="include">
+ <td colspan="3">Includes all variables from the
+ <a href="#variables-common">COMMON</a> variable set</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">annotate_href</td>
+ <td>String</td>
+ <td>URL of the ViewVC annotation view for the current resource.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">download_href</td>
+ <td>String</td>
+ <td>ViewVC file contents download URL for the current resource.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">download_text_href</td>
+ <td>String</td>
+ <td>ViewVC file contents as-text download URL for the current resource.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">orig_path</td>
+ <td>String</td>
+ <td>When viewing an old file revision through a copy of the file,
+ this is the old file revision's original path.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">orig_href</td>
+ <td>String</td>
+ <td>URL of a ViewVC log view for <code>orig_path</code>.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">prefer_markup</td>
+ <td>Boolean</td>
+ <td>Indicates whether to make the default file link a link to the markup
+ page instead of the checkout page.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">rev</td>
+ <td>String</td>
+ <td>Revision of the current resource.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">revision_href</td>
+ <td>String</td>
+ <td>URL of the Subversion revision view for the current revision.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">rss_href</td>
+ <td>String</td>
+ <td>URL of RSS feed for current location.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">view_href</td>
+ <td>String</td>
+ <td>URL of the ViewVC file contents view for the current resource.</td>
+</tr>
+</tbody>
+</table>
+</div>
+
+<div class="h3">
+<h3 id="variables-pathrev">Path Revision Form Variable Set (PATHREV)</h3>
+<table>
+<thead>
+<tr>
+ <th>Variable</th>
+ <th>Type</th>
+ <th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="varlevel1">
+ <td class="varname">lastrev</td>
+ <td>String</td>
+ <td>If the current path is deleted in a future revision, last
+ revision where the path is available. (Subversion only)</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">pathrev</td>
+ <td>String</td>
+ <td>Current sticky revision (Subversion) or sticky tag (CVS)</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">pathrev_action</td>
+ <td>String</td>
+ <td>Form action URL for the sticky revision/tag selection form.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">pathrev_hidden_values</td>
+ <td>String</td>
+ <td>Hidden value HTML markup for the revision/tag selection form.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">pathrev_clear_action</td>
+ <td>String</td>
+ <td>Form action URL for the path revision clear button.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">pathrev_clear_hidden_values</td>
+ <td>String</td>
+ <td>Hidden value HTML markup for the path revision clear button.</td>
+</tr>
+</tbody>
+</table>
+</div>
+
+<div class="h3">
+<h3 id="variables-paging">Paging Form Variable Set (PAGING)</h3>
+<table>
+<thead>
+<tr>
+ <th>Variable</th>
+ <th>Type</th>
+ <th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="varlevel1">
+ <td class="varname">picklist</td>
+ <td>List</td>
+ <td>List of pages that make up the current directory or log view.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">picklist.start</td>
+ <td>String</td>
+ <td>Name of first item on the page</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">picklist.end</td>
+ <td>String</td>
+ <td>Name of last item on the page</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">picklist.page</td>
+ <td>String</td>
+ <td>Page number (indexed from 1)</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">picklist.count</td>
+ <td>String</td>
+ <td>Number of the first item on the page (indexed from 0)</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">picklist_len</td>
+ <td>String</td>
+ <td>Number of pages in <var>picklist</var></td>
+</tr>
+</tbody>
+</table>
+</div>
+
+<div class="h3">
+<h3 id="variables-annotate">Annotation View (annotate.ezt)</h3>
+<table>
+<thead>
+<tr>
+ <th>Variable</th>
+ <th>Type</th>
+ <th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="include">
+ <td colspan="3">Includes all variables from the
+ <a href="#variables-navdata">NAVDATA</a> variable set</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">lines</td>
+ <td>List</td>
+ <td>Set of objects containing information about the most recent
+ modification of a single line of file content in the current
+ resource, naturally ordered by the line numbers they represent.
+ Every line in the resource is represented in the set.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">lines.author</td>
+ <td>String</td>
+ <td>Username of the most recent modifier of the line.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">lines.date</td>
+ <td>String</td>
+ <td>Date (in UTC if not otherwise configured) of the modification of
+ the line.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">lines.diff_url</td>
+ <td>String</td>
+ <td>URL of the ViewVC file difference view which displays the
+ modification of the line.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">lines.line_number</td>
+ <td>String</td>
+ <td>Line number (1-based) of the line.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">lines.prev_rev</td>
+ <td>String</td>
+ <td>Youngest revision of the resource prior to the line's
+ modification.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">lines.rev</td>
+ <td>String</td>
+ <td>Revision in which the modification of the line occured.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">lines.text</td>
+ <td>String</td>
+ <td>Textual contents of the line.</td>
+</tr>
+</tbody>
+</table>
+</div>
+
+<div class="h3">
+<h3 id="variables-graph">Revision Graph View (graph.ezt)</h3>
+<table>
+<thead>
+<tr>
+ <th>Variable</th>
+ <th>Type</th>
+ <th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="include">
+ <td colspan="3">Includes all variables from the
+ <a href="#variables-common">COMMON</a> variable set</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">imagemap</td>
+ <td>String</td>
+ <td>HTML markup containing the image map associated with the
+ revision graph.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">imagesrc</td>
+ <td>String</td>
+ <td>URL of the ViewVC revision graph image for the current
+ resource.</td>
+</tr>
+</tbody>
+</table>
+</div>
+
+<div class="h3">
+<h3 id="variables-diff">File Difference View (diff.ezt)</h3>
+<table>
+<thead>
+<tr>
+ <th>Variable</th>
+ <th>Type</th>
+ <th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="include">
+ <td colspan="3">Includes all variables from the
+ <a href="#variables-common">COMMON</a> variable set</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">annotate_href</td>
+ <td>String</td>
+ <td>URL for the annotate view of the right-side file revision.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">changes</td>
+ <td>List</td>
+ <td>Set of objects which contain information about a single line of
+ file difference data. Valid only when <var>diff_format</var> is
+ <tt>h</tt> or <tt>l</tt>.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">changes.have_left</td>
+ <td>Boolean</td>
+ <td>Specifies whether the left file has a line of content relevant
+ to the difference data line. Valid only when
+ <var>changes.type</var> is <tt>change</tt>.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">changes.have_right</td>
+ <td>Boolean</td>
+ <td>Specifies whether the right file has a line of content relevant
+ to the difference data line. Valid only when
+ <var>changes.type</var> is <tt>change</tt>.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">changes.left</td>
+ <td>String</td>
+ <td>Textual contents of the relevant line in the left file. Valid
+ only when <var>changes.type</var> is <tt>change</tt>,
+ <tt>context</tt>, or <tt>remove</tt>. When
+ <var>changes.type</var> is <tt>change</tt>, valid only when
+ <var>changes.have_left</var> is set (in order to delineate
+ between missing lines and empty lines, which EZT does not
+ support).</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">changes.right</td>
+ <td>String</td>
+ <td>Textual contents of the relevant line in the right file. Valid
+ only when <var>changes.type</var> is <tt>add</tt>, <tt>change</tt>,
+ or <tt>context</tt>. When
+ <var>changes.type</var> is <tt>change</tt>, valid only when
+ <var>changes.have_left</var> is set (in order to delineate
+ between missing lines and empty lines, which EZT does not
+ support).</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">changes.line_info_extra</td>
+ <td>String</td>
+ <td>Additional line information for the current difference hunk.
+ Valid only when <var>changes.type</var> is <tt>header</tt>.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">changes.line_info_left</td>
+ <td>String</td>
+ <td>First line number represented by the current hunk in the left
+ file. Valid only when <var>changes.type</var> is <tt>header</tt>.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">changes.line_info_right</td>
+ <td>String</td>
+ <td>First line number represented by the current hunk in the right
+ file. Valid only when <var>changes.type</var> is <tt>header</tt>.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">changes.line_number</td>
+ <td>String</td>
+ <td>Line number (1-based) of the line.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">changes.type</td>
+ <td>String</td>
+ <td>The type of change. Value values: <tt>add</tt>,
+ <tt>change</tt>, <tt>context</tt>, <tt>header</tt>,
+ <tt>no-changes</tt>, <tt>remove</tt>.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">date_left</td>
+ <td>String</td>
+ <td>Date (in UTC if not otherwise configured) in which the left file
+ revision was created.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">date_right</td>
+ <td>String</td>
+ <td>Date (in UTC if not otherwise configured) in which the right file
+ revision was created.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">diff_format</td>
+ <td>String</td>
+ <td>Difference dislay format: Valid values are <tt>c</tt>
+ (context), <tt>h</tt> (human-readable, or colored), <tt>l</tt> (long
+ human-readable), <tt>s</tt> (side-by-side), <tt>u</tt>
+ (unified).</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">diff_format_action</td>
+ <td>String</td>
+ <td>Form action URL for the diff format selection form.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">diff_format_hidden_values</td>
+ <td>String</td>
+ <td>Hidden value HTML markup for the diff format selection form.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">raw_diff</td>
+ <td>String</td>
+ <td>Raw difference text. Valid only when <var>diff_format</var> is
+ <tt>c</tt>, <tt>s</tt>, or <tt>u</tt>.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">rev_left</td>
+ <td>String</td>
+ <td>Revision of the left file.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">rev_right</td>
+ <td>String</td>
+ <td>Revision of the right file.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">tag_left</td>
+ <td>String</td>
+ <td>Tag of the left file.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">tag_right</td>
+ <td>String</td>
+ <td>Tag of the right file.</td>
+</tr>
+</tbody>
+</table>
+</div>
+
+<div class="h3">
+<h3 id="variables-directory">Directory Listing View (directory.ezt)</h3>
+<table>
+<thead>
+<tr>
+ <th>Variable</th>
+ <th>Type</th>
+ <th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="include">
+ <td colspan="3">Includes all variables from the
+ <a href="#variables-common">COMMON</a>,
+ <a href="#variables-pathrev">PATHREV</a>, and
+ <a href="#variables-paging">PAGING</a> variable sets</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">attic_showing</td>
+ <td>Boolean</td>
+ <td>Indicates whether or not the directory list include "dead" files
+ (files not available in, perhaps deleted from, the current
+ tag). CVS only.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">branch_tags</td>
+ <td>List</td>
+ <td>Set of branch tag names in use by files in the current directory.
+ CVS only.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">dir_pagestart</td>
+ <td>String</td>
+ <td>Item number (zero-based) of the first directory entry requested
+ to be shown on the page. Corresponds to the
+ <var>dir_pagestart</var> CGI parameter.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">dir_paging_action</td>
+ <td>String</td>
+ <td>Form action URL for the page selection form.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">dir_paging_hidden_values</td>
+ <td>String</td>
+ <td>Hidden value HTML markup for the page selection form.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">entries</td>
+ <td>List</td>
+ <td>Set of objects which represent the entries of this directory.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.ago</td>
+ <td>String</td>
+ <td>Textual description of the time since <var>entries.date</var>.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.annotate_href</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.author</td>
+ <td>String</td>
+ <td>Username of the last modifier of the directory entry.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.date</td>
+ <td>String</td>
+ <td>Date (in UTC if not otherwise configured) of the last
+ modification of the directory entry.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.download_href</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.download_text_href</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.errors</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.graph_href</td>
+ <td>String</td>
+ <td>URL of the ViewVC revision graph view for the directory
+ entry.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.log</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.log_file</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.log_href</td>
+ <td>String</td>
+ <td>URL of the ViewVC revision log view for the directory
+ entry.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.log_rev</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.mime_type</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.name</td>
+ <td>String</td>
+ <td>Name of the directory entry.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.rev</td>
+ <td>String</td>
+ <td>Revision of the directory entry. For CVS repositories, this is
+ a revision at the tip of the selected tag or branch; for
+ Subversion, this is the youngest revision as of the revision of
+ the directory being viewed.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.revision_href</td>
+ <td>String</td>
+ <td>URL of the Subversion revision view for the directory entries
+ current revision. Valid only when <var>roottype</var> is
+ <tt>svn</tt>.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.size</td>
+ <td>String</td>
+ <td>Size (in bytes) of the directory entry. Valid only when
+ <var>roottype</var> is <tt>svn</tt> and
+ <var>entries.pathtype</var> is <tt>file</tt>.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.state</td>
+ <td></td>
+ <td></td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.pathtype</td>
+ <td>String</td>
+ <td>Path kind of the directory entry. Valid values: <tt>file</tt>
+ (file), <tt>dir</tt> (directory); may be empty.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.prefer_markup</td>
+ <td>Boolean</td>
+ <td>Indicates whether to make the default file link a link to the markup
+ page instead of the checkout page. Valid only when
+ <var>entries.pathtype</var> is <tt>file</tt>.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.view_href</td>
+ <td></td>
+ <td>This is a URL for the markup view if the entry is a file, and a
+ URL for a directory listing if the entry is a directory.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">files_shown</td>
+ <td>String</td>
+ <td>Number of files displayed.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">hide_attic_href</td>
+ <td>String</td>
+ <td>URL for the current view, but with "dead" files hidden.
+ CVS only.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">num_dead</td>
+ <td>String</td>
+ <td>Number of dead files in the current directory.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">plain_tags</td>
+ <td>List</td>
+ <td>List of tag names in use by files in the current directory.
+ CVS only.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">queryform_href</td>
+ <td>String</td>
+ <td>URL for a query form returning results from this directory.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">search_re</td>
+ <td>String</td>
+ <td>Current search expression, if any.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">search_re_form</td>
+ <td>Boolean</td>
+ <td>Indicates whether or not to display the regular expression search
+ form. Value depends on the whether searching is enabled in the
+ configuration and whether or not the current directory is
+ empty.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">search_re_action</td>
+ <td>String</td>
+ <td>Form action URL for the regular expression search form.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">search_re_hidden_values</td>
+ <td>String</td>
+ <td>Hidden value HTML markup for the regular expression search form.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">show_attic_href</td>
+ <td>String</td>
+ <td>URL for the current view, but with "dead" files shown.
+ CVS only.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">sortby</td>
+ <td>String</td>
+ <td>Current sorting mode. Valid values: <tt>file</tt>, <tt>rev</tt>,
+ <tt>date</tt>, <tt>author</tt>, and <tt>log</tt>.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">sortby_author_href</td>
+ <td>String</td>
+ <td>URL for the current view, but sorted by author.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">sortby_date_href</td>
+ <td>String</td>
+ <td>URL for the current view, but sorted by date.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">sortby_file_href</td>
+ <td>String</td>
+ <td>URL for the current view, but sorted by filename.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">sortby_log_href</td>
+ <td>String</td>
+ <td>URL for the current view, but sorted by log message.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">sortby_rev_href</td>
+ <td>String</td>
+ <td>URL for the current view, but sorted by revision number.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">sortdir</td>
+ <td>String</td>
+ <td>Current sorting mode. Valid values: <tt>up</tt> (ascending) and
+ <tt>down</tt> (descending)</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">tarball_href</td>
+ <td>String</td>
+ <td>URL to download tarball of the current directory.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">tree_rev</td>
+ <td>String</td>
+ <td>Last revision number where the current directory (or any path
+ underneath it) was modified. Subversion only.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">tree_rev_href</td>
+ <td>String</td>
+ <td>URL for revision view showing information about the
+ <var>tree_rev</var> revision. Subversion only.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">youngest_rev</td>
+ <td>String</td>
+ <td>Last revision number in the repository. Subversion only</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">youngest_rev_href</td>
+ <td>String</td>
+ <td>URL for revision view showing information about the
+ <var>youngest_rev</var> revision. Subversion only.</td>
+</tr>
+</tbody>
+</table>
+</div>
+
+<div class="h3">
+<h3 id="variables-error">Error View (error.ezt)</h3>
+<table>
+<thead>
+<tr>
+ <th>Variable</th>
+ <th>Type</th>
+ <th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="varlevel1">
+ <td class="varname">msg</td>
+ <td>String</td>
+ <td>Message describing the current error.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">stacktrace</td>
+ <td>String</td>
+ <td>Python stack trace showing where the error occurred.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">status</td>
+ <td>String</td>
+ <td>HTTP status code like "404 Not Found" that was sent to the
+ browser with this error message.</td>
+</tr>
+</tbody>
+</table>
+</div>
+
+<div class="h3">
+<h3 id="variables-log">Revision Log View (log.ezt)</h3>
+<table>
+<thead>
+<tr>
+ <th>Variable</th>
+ <th>Type</th>
+ <th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="include">
+ <td colspan="3">Includes all variables from the
+ <a href="#variables-common">COMMON</a>,
+ <a href="#variables-pathrev">PATHREV</a>, and
+ <a href="#variables-paging">PAGING</a> variable sets</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">annotate_href</td>
+ <td>String</td>
+ <td>URL for annotate view of the HEAD revision of the file.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">branch_tags</td>
+ <td>List</td>
+ <td>Names of branch tags in the file. CVS only.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">default_branch</td>
+ <td>List</td>
+ <td>Default branch names (CVS only)</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">diff_format</td>
+ <td>String</td>
+ <td>Currently selected diff format in the diff selection form. Valid
+ values are <tt>c</tt> (context), <tt>h</tt> (human-readable,
+ or colored), <tt>l</tt> (long human-readable), <tt>s</tt>
+ (side-by-side), <tt>u</tt> (unified).</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">diff_select_action</td>
+ <td>String</td>
+ <td>Form action URL for the diff selection form.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">diff_select_hidden_values</td>
+ <td>String</td>
+ <td>Hidden value HTML markup for the diff selection form.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">download_href</td>
+ <td>String</td>
+ <td>URL to download the HEAD revision of the file.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">download_text_href</td>
+ <td>String</td>
+ <td>URL to download the HEAD revision of the file as
+ <tt>text/plain</tt>.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">entries</td>
+ <td>List</td>
+ <td>List of revisions where the file or directory was modified.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.ago</td>
+ <td>String</td>
+ <td>Text description of the time elapsed since
+ <var>entries.date</var>.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.annotate_href</td>
+ <td>String</td>
+ <td>URL for the annotate view of the file revision.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.author</td>
+ <td>String</td>
+ <td>Author of the revision.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.branch_names</td>
+ <td>List</td>
+ <td>If this last revision on a branch, a list of names for that
+ branch.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.branch_point</td>
+ <td>String</td>
+ <td>If the revision is on a branch, this is the revision number
+ the branch branched off from. CVS only.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.branch_points</td>
+ <td>String</td>
+ <td>List of branch tags which branch off of this revision.
+ CVS only.</td>
+</tr>
+<tr class="varlevel3">
+ <td class="varname">entries.branch_points.name</td>
+ <td>String</td>
+ <td>Name of the branch tag.</td>
+</tr>
+<tr class="varlevel3">
+ <td class="varname">entries.branch_points.href</td>
+ <td>String</td>
+ <td>URL for the current view, but with this tag set as the sticky
+ tag.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.branches</td>
+ <td>String</td>
+ <td>List of branch tags that include this file revision.
+ CVS only.</td>
+</tr>
+<tr class="varlevel3">
+ <td class="varname">entries.branches.name</td>
+ <td>String</td>
+ <td>Name of the branch tag.</td>
+</tr>
+<tr class="varlevel3">
+ <td class="varname">entries.branches.href</td>
+ <td>String</td>
+ <td>URL for the current view, but with this tag set as the sticky
+ tag.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.changed</td>
+ <td>String</td>
+ <td>Numbers of lines added and removed since the previous revision.
+ CVS only.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.copy_href</td>
+ <td>String</td>
+ <td>URL for log view of <var>entries.copy_path</var>.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.copy_path</td>
+ <td>String</td>
+ <td>If the file revision was copied from somewhere, this is the path it
+ was copied from. Subversion only.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.copy_rev</td>
+ <td>String</td>
+ <td>If the file revision was copied from somewhere, this is the revision
+ number of the path it was copied from. Subversion only.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.date</td>
+ <td>String</td>
+ <td>Date (in UTC if not otherwise configured) of the revision.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.diff_to_branch_href</td>
+ <td>String</td>
+ <td>URL for a diff view of this file revision showing the changes
+ since the branch was created at (<var>entries.branch_point</var>).
+ CVS only.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.diff_to_main_href</td>
+ <td>String</td>
+ <td>If this revision is at the tip of a branch, URL for a diff view of
+ this file revision showing the differences between it and the latest
+ revision on the parent branch
+ (<var>entries.next_main</var>). CVS only.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.diff_to_prev_href</td>
+ <td>String</td>
+ <td>URL for a diff view of this file revision showing the changes
+ since the previous revision (<var>entries.prev</var>).</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.diff_to_sel_href</td>
+ <td>String</td>
+ <td>URL for a diff view of this file revision and the currently
+ selected revision (<var>rev_selected</var>).</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.download_href</td>
+ <td>String</td>
+ <td>URL to download the file revision.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.download_text_href</td>
+ <td>String</td>
+ <td>URL to download the file revision as <tt>text/plain</tt>.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.log</td>
+ <td>String</td>
+ <td>Revision log message.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.next_main</td>
+ <td>String</td>
+ <td>If this revision is on the tip of the branch, this is the latest
+ revision of the parent branch, a likely merge candidate.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.orig_href</td>
+ <td>String</td>
+ <td>URL for log view of <var>entries.orig_path</var></td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.orig_path</td>
+ <td>String</td>
+ <td>If this file revision is located at a different path than the
+ newest file revision (because it precedes a copy or move), this
+ is the path it was originally located at. Subversion only.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.prefer_markup</td>
+ <td>Boolean</td>
+ <td>Indicates whether to make the default file link a link to the markup
+ page instead of the checkout page.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.prev</td>
+ <td>String</td>
+ <td>Previous revision number.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.rev</td>
+ <td>String</td>
+ <td>Revision number.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.revision_href</td>
+ <td>String</td>
+ <td>URL for revision view showing more information about the
+ revision.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.sel_for_diff_href</td>
+ <td>String</td>
+ <td>URL for current view, but with this revision selected for
+ diffs.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.size</td>
+ <td>String</td>
+ <td>Size of the file revision, in bytes. Subversion only.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.state</td>
+ <td>String</td>
+ <td>State of the file revision. Possible values: <tt>dead</tt>, and
+ the empty string.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.tag_names</td>
+ <td>List</td>
+ <td>List of tag names which refer to the revision.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.tags</td>
+ <td>List</td>
+ <td>List of tags which refer to the revision</td>
+</tr>
+<tr class="varlevel3">
+ <td class="varname">entries.tags.name</td>
+ <td>String</td>
+ <td>Name of the tag.</td>
+</tr>
+<tr class="varlevel3">
+ <td class="varname">entries.tags.href</td>
+ <td>String</td>
+ <td>URL for the current page, but with this tag set as the sticky
+ tag.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.vendor_branch</td>
+ <td>Boolean</td>
+ <td>Indicates if this revision is on a vendor branch.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">entries.view_href</td>
+ <td>String</td>
+ <td>URL for markup view for a file revision, or directory listing view
+ for a directory revision.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">human_readable</td>
+ <td>Boolean</td>
+ <td>Indicates whether or not currently selected diff format
+ (<var>diff_format</var>) is human readable (colored).</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">log_pagestart</td>
+ <td>String</td>
+ <td>Item number (zero based) of the first directory entry requested
+ to be shown on the page. Corresponds to the
+ <var>log_pagestart</var> query parameter.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">log_paging_action</td>
+ <td>String</td>
+ <td>Form action URL for the page selection form.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">log_paging_hidden_values</td>
+ <td>String</td>
+ <td>Hidden value HTML markup for the page selection form.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">logsort</td>
+ <td>String</td>
+ <td>Current sorting mode. Possible values: <tt>date</tt> and
+ <tt>rev</tt>.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">logsort_action</td>
+ <td>String</td>
+ <td>Form action URL for log sort drop down box.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">logsort_hidden_values</td>
+ <td>String</td>
+ <td>Hidden value HTML markup for the log sort drop down box</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">mime_type</td>
+ <td>String</td>
+ <td>MIME type of current file.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">plain_tags</td>
+ <td>List</td>
+ <td>Names of non-branch in the file. CVS only.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">prefer_markup</td>
+ <td>Boolean</td>
+ <td>Indicates whether to make the default file link a link to the markup
+ page instead of the checkout page.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">rev_selected</td>
+ <td>String</td>
+ <td>Revision number currently selected for diffs.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">tag_annotate_href</td>
+ <td>String</td>
+ <td>URL for annotate view of the file at currently selected sticky
+ tag.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">tag_download_href</td>
+ <td>String</td>
+ <td>URL to download the file at currently selected sticky tag.
+ CVS only.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">tag_download_text_href</td>
+ <td>String</td>
+ <td>URL to download the file as <tt>text/plain</tt> at the currently
+ selected sticky tag. CVS only</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">tag_prefer_markup</td>
+ <td>Boolean</td>
+ <td>Indicates whether to make the default file link a link to the markup
+ page instead of the checkout page.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">tag_view_href</td>
+ <td>String</td>
+ <td>URL for markup view of the file at the currently selected sticky
+ tag. CVS only.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">tags</td>
+ <td>String</td>
+ <td>List of tags that in the current file. CVS only.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">tags.rev</td>
+ <td>String</td>
+ <td>Revision number for a non-branch tag, or the latest revision
+ number on the branch for a branch tag.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">tags.name</td>
+ <td>String</td>
+ <td>Tag name</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">view_href</td>
+ <td>String</td>
+ <td>URL for markup view of the HEAD revision of the file.</td>
+</tr>
+</tbody>
+</table>
+</div>
+
+<div class="h3">
+<h3 id="variables-markup">File Contents View (markup.ezt)</h3>
+<table>
+<thead>
+<tr>
+ <th>Variable</th>
+ <th>Type</th>
+ <th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="include">
+ <td colspan="3">Includes all variables from the
+ <a href="#variables-navdata">NAVDATA</a> variable set</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">ago</td>
+ <td>String</td>
+ <td>Text description of the time elapsed since <var>date</var>.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">author</td>
+ <td>String</td>
+ <td>Author of the revision being viewed.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">branch_points</td>
+ <td>String</td>
+ <td>List of branch tag names which branch off of the revision being
+ viewed (CVS only).</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">branches</td>
+ <td>List</td>
+ <td>If revision currently being viewed is on a branch, list of names
+ for the branch.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">changed</td>
+ <td>String</td>
+ <td>Numbers of lines added and removed since the previous revision.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">date</td>
+ <td>String</td>
+ <td>Date (in UTC if not otherwise configured) of the revision currently
+ being viewed.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">log</td>
+ <td>String</td>
+ <td>Log message of the revision currently being viewed.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">markup</td>
+ <td>File</td>
+ <td>Marked up contents of the current file revision.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">mime_type</td>
+ <td>String</td>
+ <td>MIME type of the current file.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">prev</td>
+ <td>String</td>
+ <td>Previous revision number.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">size</td>
+ <td>String</td>
+ <td>Size of the file revision, in bytes. Subversion only.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">state</td>
+ <td>String</td>
+ <td>State of the file revision. Possible values: <tt>dead</tt>, and
+ the empty string.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">tags</td>
+ <td>List</td>
+ <td>Names of tags that have been applied to the current file
+ revision.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">vendor_branch</td>
+ <td>Boolean</td>
+ <td>Indicates whether or not the current file revision is on a vendor
+ branch.</td>
+</tr>
+</tbody>
+</table>
+</div>
+
+<div class="h3">
+<h3 id="variables-query_results">Revision History Query Results View (query_results.ezt)</h3>
+<table>
+<thead>
+<tr>
+ <th>Variable</th>
+ <th>Type</th>
+ <th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="include">
+ <td colspan="3">Includes all variables from the
+ <a href="#variables-common">COMMON</a> variable set</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">backout_href</td>
+ <td>String</td>
+ <td>URL for a page that shows a list of commands that can be applied
+ to a working copy to revert all the changes returned by the
+ query.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">commits</td>
+ <td>List</td>
+ <td>List of commits to files under the current directory that meet
+ the query criteria.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">commits.author</td>
+ <td>String</td>
+ <td>Author of the commit.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">commits.files</td>
+ <td>List</td>
+ <td>List of files under the current directory affected by the
+ commit.</td>
+</tr>
+<tr class="varlevel3">
+ <td class="varname">commits.files.author</td>
+ <td>String</td>
+ <td>Author of the commit.</td>
+</tr>
+<tr class="varlevel3">
+ <td class="varname">commits.files.date</td>
+ <td>String</td>
+ <td>Date (in UTC if not otherwise configured) the change to the file
+ was committed.</td>
+</tr>
+<tr class="varlevel3">
+ <td class="varname">commits.files.dir</td>
+ <td>String</td>
+ <td>Path of the directory containing the file.</td>
+</tr>
+<tr class="varlevel3">
+ <td class="varname">commits.files.dir_href</td>
+ <td>String</td>
+ <td>URL for directory listing of <var>commits.files.dir</var>.</td>
+</tr>
+<tr class="varlevel3">
+ <td class="varname">commits.files.file</td>
+ <td>String</td>
+ <td>File name.</td>
+</tr>
+<tr class="varlevel3">
+ <td class="varname">commits.files.rev</td>
+ <td>String</td>
+ <td>Revision number of the file.</td>
+</tr>
+<tr class="varlevel3">
+ <td class="varname">commits.files.branch</td>
+ <td>File</td>
+ <td>Branch the commit occurred on.</td>
+</tr>
+<tr class="varlevel3">
+ <td class="varname">commits.files.diff_href</td>
+ <td>String</td>
+ <td>URL to diff page showing changes since previous file revision.</td>
+</tr>
+<tr class="varlevel3">
+ <td class="varname">commits.files.log_href</td>
+ <td>String</td>
+ <td>URL for file's log page.</td>
+</tr>
+<tr class="varlevel3">
+ <td class="varname">commits.files.minus</td>
+ <td>String</td>
+ <td>Number of lines removed from the file by the commit.</td>
+</tr>
+<tr class="varlevel3">
+ <td class="varname">commits.files.plus</td>
+ <td>String</td>
+ <td>Number of lines added to the file by the commit.</td>
+</tr>
+<tr class="varlevel3">
+ <td class="varname">commits.files.type</td>
+ <td>String</td>
+ <td>Type of change made to the file by the commit. Possible values:
+ <tt>Change</tt>, <tt>Add</tt>, <tt>Remove</tt></td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">commits.log</td>
+ <td>String</td>
+ <td>Commit log message.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">commits.limited_files</td>
+ <td>Boolean</td>
+ <td>True if files list was cut short due to <tt>limit_changes</tt>.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">commits.minus</td>
+ <td>String</td>
+ <td>Total number of lines removed from files in this commit.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">commits.num_files</td>
+ <td>String</td>
+ <td>Total number of files in the <var>commits.files</var> list.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">commits.plus</td>
+ <td>String</td>
+ <td>Number of lines added to files in this commit.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">commits.rev</td>
+ <td>String</td>
+ <td>Commit revision number. Subversion only.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">commits.rss_date</td>
+ <td>String</td>
+ <td>Date of the commit formatted for RSS.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">commits.rss_url</td>
+ <td>String</td>
+ <td>Absolute URL of the revision page for the commit. Subversion only.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">commits.short_log</td>
+ <td>String</td>
+ <td>Truncated commit log message.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">english_query</td>
+ <td>String</td>
+ <td>Text description of the current query criteria.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">limit_changes</td>
+ <td>String</td>
+ <td>Current <tt>limit_changes</tt> value, maximum number of changed files
+ to show per commit.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">limit_changes_href</td>
+ <td>String</td>
+ <td>URL for the current view but with <tt>limit_changes</tt> disabled.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">minus_count</td>
+ <td>String</td>
+ <td>Total number of lines removed from all files across all returned
+ commits.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">plus_count</td>
+ <td>String</td>
+ <td>Total number of lines added to all files across all returned
+ commits.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">queryform_href</td>
+ <td>String</td>
+ <td>URL for form to edit query criteria.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">querysort</td>
+ <td>String</td>
+ <td>Indicates how query results are being sorted. Possible values:
+ <tt>date</tt>, <tt>author</tt>, and <tt>file</tt>.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">show_branch</td>
+ <td>Boolean</td>
+ <td>Indicates whether or not to list branch names in the results. True
+ when query results can include more than a single branch.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">sql</td>
+ <td>String</td>
+ <td>SQL string used to query database. Included for debugging
+ purposes.</td>
+</tr>
+</tbody>
+</table>
+</div>
+
+<div class="h3">
+<h3 id="variables-query_form">Revision History Query Form View (query_form.ezt)</h3>
+<table>
+<thead>
+<tr>
+ <th>Variable</th>
+ <th>Type</th>
+ <th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="include">
+ <td colspan="3">Includes all variables from the
+ <a href="#variables-common">COMMON</a> variable set</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">branch</td>
+ <td>String</td>
+ <td>Query string for filtering results by branch.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">branch_match</td>
+ <td>String</td>
+ <td>Type of match to perform with <var>branch</var> query string.
+ Valid values: <tt>exact</tt>, <tt>like</tt>, <tt>glob</tt>,
+ <tt>regex</tt>, <tt>notregex</tt>.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">date</td>
+ <td>String</td>
+ <td>Option for filtering results by date. Possible values:
+ <tt>hours</tt>, <tt>day</tt>, <tt>week</tt>, <tt>month</tt>,
+ <tt>all</tt>, <tt>explicit</tt>.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">dir</td>
+ <td>String</td>
+ <td>Query string for filtering results by subdirectory.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">dir_href</td>
+ <td>String</td>
+ <td>URL for directory list of current directory.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">file</td>
+ <td>String</td>
+ <td>Query string for filtering results by file name.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">file_match</td>
+ <td>String</td>
+ <td>Type of match to perform with <var>file</var> query string.
+ Valid values: <tt>exact</tt>, <tt>like</tt>, <tt>glob</tt>,
+ <tt>regex</tt>, <tt>notregex</tt>.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">hours</td>
+ <td>String</td>
+ <td>If <var>date</var> is <tt>hours</tt>, number of hours back to
+ include results from.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">limit_changes</td>
+ <td>String</td>
+ <td>Current <tt>limit_changes</tt> value, maximum number of changed files
+ to show per commit.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">maxdate</td>
+ <td>String</td>
+ <td>If <var>date</var> is <tt>explicit</tt>, latest date to
+ include results from.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">mindate</td>
+ <td>String</td>
+ <td>If <var>date</var> is <tt>explicit</tt>, earliest date to
+ include results from.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">query_action</td>
+ <td>String</td>
+ <td>Form action URL for query form.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">query_hidden_values</td>
+ <td>String</td>
+ <td>Hidden value HTML markup for query form.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">querysort</td>
+ <td>String</td>
+ <td>Option for sorting query results. Possible values: <tt>date</tt>,
+ <tt>author</tt>, and <tt>file</tt>.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">who</td>
+ <td>String</td>
+ <td>Query string for filtering results by author.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">who_match</td>
+ <td>String</td>
+ <td>Type of match to perform with <var>who</var> query string. Possible
+ values: <tt>exact</tt>, <tt>like</tt>, <tt>glob</tt>,
+ <tt>regex</tt>, <tt>notregex</tt>.</td>
+</tr>
+</tbody>
+</table>
+</div>
+
+<div class="h3">
+<h3 id="variables-revision">Revision/ChangeSet View (revision.ezt)</h3>
+<table>
+<thead>
+<tr>
+ <th>Variable</th>
+ <th>Type</th>
+ <th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="include">
+ <td colspan="3">Includes all variables from the
+ <a href="#variables-common">COMMON</a> variable set</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">ago</td>
+ <td>String</td>
+ <td>Text description of the time elapsed since <var>date</date>.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">author</td>
+ <td>String</td>
+ <td>Author of the revision.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">changes</td>
+ <td>List</td>
+ <td>List of paths changed in this revision.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">changes.action</td>
+ <td>String</td>
+ <td>Indicates what happened to the path in this revision. Valid
+ values are: <tt>added</tt>, <tt>modified</tt>, <tt>replaced</tt>,
+ and <tt>deleted</tt>.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">changes.copy_path</td>
+ <td>String</td>
+ <td>Original path if path was copied from somewhere in this
+ revision.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">changes.copy_rev</td>
+ <td>String</td>
+ <td>Revision number of original path if path was copied from somewhere
+ in this revision</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">changes.diff_href</td>
+ <td>String</td>
+ <td>URL for diff of changed path against previous revision.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">changes.is_copy</td>
+ <td>Boolean</td>
+ <td>Indicates whether path was copied from another path in this
+ revision.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">changes.log_href</td>
+ <td>String</td>
+ <td>URL for log view of changed path.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">changes.path</td>
+ <td>String</td>
+ <td>Changed path.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">changes.pathtype</td>
+ <td>String</td>
+ <td>Type of changed path. Valid values: <tt>file</tt> or
+ <tt>dir</tt></td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">changes.prop_mods</td>
+ <td>Boolean</td>
+ <td>Indicates whether the path's properties changed in this revision</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">changes.text_mods</td>
+ <td>Boolean</td>
+ <td>Indicates whether the path's file contents changed in this
+ revision.</td>
+</tr>
+<tr class="varlevel2">
+ <td class="varname">changes.view_href</td>
+ <td>String</td>
+ <td>URL for markup view of changed path.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">date</td>
+ <td>String</td>
+ <td>Revision date (in UTC if not otherwise configured).</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">first_changes</td>
+ <td>String</td>
+ <td>Configured value for <tt>limit_changes</tt>.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">first_changes_href</td>
+ <td>String</td>
+ <td>URL for the current view but with <tt>limit_changes</tt> set to the
+ configured value.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">jump_rev_action</td>
+ <td>String</td>
+ <td>Form action URL for revision jump form.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">jump_rev_hidden_values</td>
+ <td>String</td>
+ <td>Hidden value HTML markup for revision jump form.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">limit_changes</td>
+ <td>String</td>
+ <td>Current <tt>limit_changes</tt> value, maximum number of changed files
+ to show per commit.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">log</td>
+ <td>String</td>
+ <td>Revision log message.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">more_changes</td>
+ <td>String</td>
+ <td>Number of changes not being shown due to <tt>limit_changes</tt>.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">more_changes_href</td>
+ <td>String</td>
+ <td>URL for the current view but with <tt>limit_changes</tt> disabled.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">next_href</td>
+ <td>String</td>
+ <td>URL for revision page of the next revision.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">prev_href</td>
+ <td>String</td>
+ <td>URL for revision page of the previous revision.</td>
+</tr>
+<tr class="varlevel1">
+ <td class="varname">rev</td>
+ <td>String</td>
+ <td>Revision number.</td>
+</tr>
+</tbody>
+</table>
+</div>
+
+<div class="h3">
+<h3 id="variables-roots">Root Listing View (roots.ezt)</h3>
+<table>
+<thead>
+<tr>
+ <th>Variable</th>
+ <th>Type</th>
+ <th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="include">
+ <td colspan="3">Includes all variables from the
+ <a href="#variables-common">COMMON</a> variable set</td>
+</tr>
+</tbody>
+</table>
+
+</div>
+</body>
+</html>
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/docs/upgrading-howto.html
^
|
(renamed to docs/upgrading-howto.html)
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/docs/upgrading-howto.html
^
|
(renamed to docs/upgrading-howto.html)
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/docs/url-reference.html
^
|
(renamed to docs/url-reference.html)
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/docs/url-reference.html
^
|
(renamed to docs/url-reference.html)
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/lib/config.py
^
|
@@ -1,6 +1,6 @@
# -*-python-*-
#
-# Copyright (C) 1999-2006 The ViewCVS Group. All Rights Reserved.
+# Copyright (C) 1999-2008 The ViewCVS Group. All Rights Reserved.
#
# By using this file, you agree to the terms and conditions set forth in
# the LICENSE.html file which can be found at the top level of the ViewVC
@@ -19,6 +19,8 @@
import string
import ConfigParser
import fnmatch
+import re
+import vclib
#########################################################################
@@ -39,7 +41,7 @@
class Config:
_sections = ('general', 'options', 'cvsdb', 'templates')
- _force_multi_value = ('cvs_roots', 'forbidden',
+ _force_multi_value = ('cvs_roots', 'forbidden', 'forbiddenre',
'svn_roots', 'languages', 'kv_files',
'root_parents')
@@ -151,8 +153,9 @@
self.general.svn_path = ''
self.general.mime_types_file = ''
self.general.address = '<a href="mailto:user@insert.your.domain.here">No admin address has been configured</a>'
- self.general.forbidden = ()
- self.general.kv_files = [ ]
+ self.general.forbidden = []
+ self.general.forbiddenre = []
+ self.general.kv_files = []
self.general.languages = ['en-us']
self.templates.directory = None
@@ -222,19 +225,65 @@
self.options.http_expiration_time = 600
self.options.generate_etags = 1
- def is_forbidden(self, module):
- if not module:
+ def is_forbidden(self, root, path_parts, pathtype):
+ # If we don't have a root and path to check, get outta here.
+ if not (root and path_parts):
return 0
- default = 0
- for pat in self.general.forbidden:
- if pat[0] == '!':
- default = 1
- if fnmatch.fnmatchcase(module, pat[1:]):
- return 0
- elif fnmatch.fnmatchcase(module, pat):
- return 1
- return default
+ # Give precedence to the new 'forbiddenre' stuff first.
+ if self.general.forbiddenre:
+
+ # Join the root and path-parts together into one path-like thing.
+ root_and_path = string.join([root] + path_parts, "/")
+ if pathtype == vclib.DIR:
+ root_and_path = root_and_path + '/'
+
+ # If we still have a list of strings, replace those suckers with
+ # lists of (compiled_regex, negation_flag)
+ if type(self.general.forbiddenre[0]) == type(""):
+ for i in range(len(self.general.forbiddenre)):
+ pat = self.general.forbiddenre[i]
+ if pat[0] == '!':
+ self.general.forbiddenre[i] = (re.compile(pat[1:]), 1)
+ else:
+ self.general.forbiddenre[i] = (re.compile(pat), 0)
+
+ # Do the forbiddenness test.
+ default = 0
+ for (pat, negated) in self.general.forbiddenre:
+ match = pat.search(root_and_path)
+ if negated:
+ default = 1
+ if match:
+ return 0
+ elif match:
+ return 1
+ return default
+
+ # If no 'forbiddenre' is in use, we check 'forbidden', which only
+ # looks at the top-most directory.
+ elif self.general.forbidden:
+
+ # A root and a single non-directory path component? That's not
+ # a module.
+ if len(path_parts) == 1 and pathtype != vclib.DIR:
+ return 0
+
+ # Do the forbiddenness test.
+ module = path_parts[0]
+ default = 0
+ for pat in self.general.forbidden:
+ if pat[0] == '!':
+ default = 1
+ if fnmatch.fnmatchcase(module, pat[1:]):
+ return 0
+ elif fnmatch.fnmatchcase(module, pat):
+ return 1
+ return default
+
+ # No forbiddenness configuration? Just allow it.
+ else:
+ return 0
def _parse_roots(config_name, config_value):
roots = { }
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/lib/cvsdb.py
^
|
@@ -1,6 +1,6 @@
# -*-python-*-
#
-# Copyright (C) 1999-2006 The ViewCVS Group. All Rights Reserved.
+# Copyright (C) 1999-2007 The ViewCVS Group. All Rights Reserved.
#
# By using this file, you agree to the terms and conditions set forth in
# the LICENSE.html file which can be found at the top level of the ViewVC
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/lib/ezt.py
^
|
@@ -200,7 +200,7 @@
equivalent to "[CALLBACK QUAL_NAME]"
"""
#
-# Copyright (C) 2001-2005 Greg Stein. All Rights Reserved.
+# Copyright (C) 2001-2007 Greg Stein. All Rights Reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/lib/query.py
^
|
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# -*-python-*-
#
-# Copyright (C) 1999-2006 The ViewCVS Group. All Rights Reserved.
+# Copyright (C) 1999-2008 The ViewCVS Group. All Rights Reserved.
#
# By using this file, you agree to the terms and conditions set forth in
# the LICENSE.html file which can be found at the top level of the ViewVC
@@ -282,10 +282,8 @@
ob.log = ' '
for commit in files:
- dir_parts = filter(None, string.split(commit.GetDirectory(), '/'))
- if dir_parts \
- and ((dir_parts[0] == 'CVSROOT' and cfg.options.hide_cvsroot) \
- or cfg.is_forbidden(dir_parts[0])):
+ parts = filter(None, string.split(commit.GetDirectory(), '/'))
+ if parts and cfg.options.hide_cvsroot and parts[0] == 'CVSROOT':
continue
ctime = commit.GetTime()
@@ -304,6 +302,11 @@
file = (directory and directory + "/") + commit.GetFile()
cvsroot_name = cvsroots.get(repository)
+ ## skip forbidden files
+ if cfg.is_forbidden(cvsroot_name,
+ filter(None, string.split(file, "/")), vclib.FILE):
+ continue
+
## if we couldn't find the cvsroot path configured in the
## viewvc.conf file, then don't make the link
if cvsroot_name:
@@ -345,7 +348,7 @@
files = [ ]
cvsroots = {}
- rootitems = cfg.general.cvs_roots.items() + cfg.general.svn_roots.items()
+ rootitems = cfg.general.svn_roots.items() + cfg.general.cvs_roots.items()
for key, value in rootitems:
cvsroots[cvsdb.CleanRepository(value)] = key
@@ -366,6 +369,13 @@
commits.append(build_commit(server, cfg, current_desc, files,
cvsroots, viewvc_link))
+ # Strip out commits that don't have any files attached to them. The
+ # files probably aren't present because they've been blocked via
+ # forbiddenness.
+ def _only_with_files(commit):
+ return len(commit.files) > 0
+ commits = filter(_only_with_files, commits)
+
return commits
def main(server, cfg, viewvc_link):
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/lib/vclib/svn/__init__.py
^
|
@@ -1,6 +1,6 @@
# -*-python-*-
#
-# Copyright (C) 1999-2006 The ViewCVS Group. All Rights Reserved.
+# Copyright (C) 1999-2008 The ViewCVS Group. All Rights Reserved.
#
# By using this file, you agree to the terms and conditions set forth in
# the LICENSE.html file which can be found at the top level of the ViewVC
@@ -15,9 +15,11 @@
import vclib
import os
import os.path
+import stat
import string
import cStringIO
import signal
+import shutil
import time
import tempfile
import popen
@@ -498,13 +500,36 @@
rootpath = '/' + rootpath
if os.sep != '/':
rootpath = string.replace(rootpath, os.sep, '/')
-
+
+ # Make a read-only temporary directory for Subversion to use as
+ # its runtime config dir. (Read-only because that will prevent
+ # Subversion from fleshing out all the default runtime config
+ # contents.)
+ self.config_dir = self._mkdtemp()
+ os.chmod(self.config_dir, stat.S_IRUSR | stat.S_IXUSR)
+
url = 'file://' + string.join([rootpath, fs_path], "/")
fp = popen.popen(svn_client_path,
- ('blame', "-r%d" % int(rev), "--non-interactive",
+ ("blame",
+ "-r%d" % int(rev),
+ "--non-interactive",
+ "--config-dir", self.config_dir,
"%s@%d" % (url, int(rev))),
'rb', 1)
self.fp = fp
+
+ def _mkdtemp(self):
+ ### FIXME: When we require Python 2.3, this can go away.
+ for i in range(10):
+ dir = tempfile.mktemp()
+ try:
+ os.mkdir(dir, 0700)
+ return dir
+ except OSError, e:
+ if e.errno == errno.EEXIST:
+ continue # try again
+ raise
+ raise IOError, (errno.EEXIST, "No usable temporary directory name found")
def __getitem__(self, idx):
if idx == self.idx:
@@ -529,6 +554,13 @@
self.last = item
self.idx = idx
return item
+
+ def __del__(self):
+ try:
+ if self.config_dir:
+ shutil.rmtree(self.config_dir)
+ except:
+ pass
class BlameSequencingError(Exception):
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/lib/vclib/svn_ra/__init__.py
^
|
@@ -1,6 +1,6 @@
# -*-python-*-
#
-# Copyright (C) 1999-2006 The ViewCVS Group. All Rights Reserved.
+# Copyright (C) 1999-2008 The ViewCVS Group. All Rights Reserved.
#
# By using this file, you agree to the terms and conditions set forth in
# the LICENSE.html file which can be found at the top level of the ViewVC
@@ -100,8 +100,12 @@
kind = ra.svn_ra_check_path(svnrepos.ra_session, full_name, rev,
svnrepos.pool)
if kind == core.svn_node_dir:
- props = ra.svn_ra_get_dir(svnrepos.ra_session, full_name,
- rev, svnrepos.pool)
+ retval = ra.svn_ra_get_dir(svnrepos.ra_session, full_name,
+ rev, svnrepos.pool)
+ if type(retval) == type([]) and len(retval) == 3:
+ props = retval[2]
+ else: # compat with older (broken) bindings
+ props = retval
return int(props[core.SVN_PROP_ENTRY_COMMITTED_REV])
return core.SVN_INVALID_REVNUM
@@ -176,12 +180,14 @@
# Changed paths have leading slashes
changed_paths = paths.keys()
changed_paths.sort(lambda a, b: _compare_paths(a, b))
- this_path = None
+ copyfrom_path = copyfrom_rev = this_path = None
if self.path in changed_paths:
this_path = self.path
change = paths[self.path]
if change.copyfrom_path:
this_path = change.copyfrom_path
+ copyfrom_path = change.copyfrom_path[1:]
+ copyfrom_rev = change.copyfrom_rev
for changed_path in changed_paths:
if changed_path != self.path:
# If a parent of our path was copied, our "next previous"
@@ -194,7 +200,7 @@
if self.show_all_logs or this_path:
date = _datestr_to_date(date, pool)
entry = Revision(revision, date, author, message, None,
- self.path[1:], None, None)
+ self.path[1:], copyfrom_path, copyfrom_rev)
self.logs.append(entry)
if this_path:
self.path = this_path
@@ -240,7 +246,7 @@
self._path = path
self._eof = 0
- def read(self, len):
+ def read(self, len=None):
if len:
chunk = self._fp.read(len)
else:
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/lib/viewvc.py
^
|
@@ -1,6 +1,6 @@
# -*-python-*-
#
-# Copyright (C) 1999-2006 The ViewCVS Group. All Rights Reserved.
+# Copyright (C) 1999-2008 The ViewCVS Group. All Rights Reserved.
#
# By using this file, you agree to the terms and conditions set forth in
# the LICENSE.html file which can be found at the top level of the ViewVC
@@ -14,7 +14,7 @@
#
# -----------------------------------------------------------------------
-__version__ = '1.0.4'
+__version__ = '1.0.5'
# this comes from our library; measure the startup time
import debug
@@ -283,13 +283,19 @@
needs_redirect = 1
if self.repos and self.view_func is not redirect_pathrev:
+ # If this is an intended-to-be-hidden CVSROOT path, complain.
+ if cfg.options.hide_cvsroot \
+ and is_cvsroot_path(self.roottype, path_parts):
+ raise debug.ViewVCException('%s: unknown location'
+ % self.where, '404 Not Found')
+
# Make sure path exists
self.pathrev = pathrev = self.query_dict.get('pathrev')
self.pathtype = _repos_pathtype(self.repos, path_parts, pathrev)
if self.pathtype is None:
- # path doesn't exist, see if it could be an old-style ViewVC URL
- # with a fake suffix
+ # Path doesn't exist, see if it could be an old-style ViewVC URL
+ # with a fake suffix.
result = _strip_suffix('.diff', path_parts, pathrev, vclib.FILE, \
self.repos, view_diff) or \
_strip_suffix('.tar.gz', path_parts, pathrev, vclib.DIR, \
@@ -327,11 +333,11 @@
self.where = _path_join(attic_parts)
needs_redirect = 1
- # If this is a forbidden directory, stop now
- if self.path_parts and self.pathtype == vclib.DIR \
- and cfg.is_forbidden(self.path_parts[0]):
- raise debug.ViewVCException('%s: unknown location' % path_parts[0],
- '404 Not Found')
+ # If this is a forbidden location, stop now
+ if cfg.is_forbidden(self.rootname, self.path_parts, self.pathtype):
+ raise debug.ViewVCException('%s: unknown location' \
+ % _path_join(self.path_parts),
+ '404 Not Found')
if self.view_func is None:
# view parameter is not set, try looking at pathtype and the
@@ -906,6 +912,9 @@
def is_text(mime_type):
return not mime_type or mime_type[:5] == 'text/'
+def is_cvsroot_path(roottype, path_parts):
+ return roottype == 'cvs' and path_parts and path_parts[0] == 'CVSROOT'
+
def is_plain_text(mime_type):
return not mime_type or mime_type == 'text/plain'
@@ -979,8 +988,13 @@
html = re.sub(_re_rewrite_email, r'<a href="mailto:\1@\2">\1@\2</a>', html)
return html
-def format_log(log, cfg):
- s = htmlify(log[:cfg.options.short_log_len])
+def format_log(log, cfg, htmlize=1):
+ if not log:
+ return log
+ if htmlize:
+ s = htmlify(log[:cfg.options.short_log_len])
+ else:
+ s = cgi.escape(log[:cfg.options.short_log_len])
if len(log) > cfg.options.short_log_len:
s = s + '...'
return s
@@ -1587,13 +1601,14 @@
(file.kind == vclib.DIR and 'dir')
row.errors = file.errors
- if file.kind == vclib.DIR:
-
- if (where == '') and (cfg.is_forbidden(file.name)):
- continue
+ if cfg.is_forbidden(request.rootname, request.path_parts + [file.name],
+ file.kind):
+ continue
- if (request.roottype == 'cvs' and cfg.options.hide_cvsroot
- and where == '' and file.name == 'CVSROOT'):
+ if file.kind == vclib.DIR:
+ if cfg.options.hide_cvsroot \
+ and is_cvsroot_path(request.roottype,
+ request.path_parts + [file.name]):
continue
row.view_href = request.get_url(view_func=view_directory,
@@ -1891,10 +1906,12 @@
# selected revision
selected_rev = request.query_dict.get('r1')
+ paths_forbidden = {}
entries = [ ]
name_printed = { }
cvs = request.roottype == 'cvs'
for rev in show_revs:
+ last_one = 0
entry = _item()
entry.rev = rev.string
entry.state = (cvs and rev.dead and 'dead')
@@ -1959,8 +1976,27 @@
entry.vendor_branch = None
if rev.filename != request.where:
entry.orig_path = rev.filename
- entry.copy_path = rev.copy_path
- entry.copy_rev = rev.copy_rev
+
+ # If this path has been copied, check the copy source for
+ # forbiddenness. If it's forbidden, we'll a) pretend this is a
+ # regular add (instead of a copy), and b) stop traversing history.
+ if rev.copy_path:
+ if not paths_forbidden.has_key(rev.copy_path):
+ paths_forbidden[rev.copy_path] = \
+ cfg.is_forbidden(request.rootname,
+ _path_parts(rev.copy_path), pathtype)
+
+ if paths_forbidden[rev.copy_path]:
+ entry.prev = None
+ last_one = 1
+ else:
+ entry.copy_path = rev.copy_path
+ entry.copy_rev = rev.copy_rev
+ entry.copy_href = request.get_url(view_func=view_log,
+ where=rev.copy_path,
+ pathtype=vclib.FILE,
+ params={'pathrev': rev.copy_rev},
+ escape=1)
if entry.orig_path:
entry.orig_href = request.get_url(view_func=view_log,
@@ -1969,14 +2005,6 @@
params={'pathrev': rev.string},
escape=1)
- if rev.copy_path:
- entry.copy_href = request.get_url(view_func=view_log,
- where=rev.copy_path,
- pathtype=vclib.FILE,
- params={'pathrev': rev.copy_rev},
- escape=1)
-
-
# view/download links
if pathtype is vclib.FILE:
entry.view_href, entry.download_href, entry.download_text_href, \
@@ -2033,10 +2061,12 @@
# Save our escaping until the end so stuff above works
if entry.orig_path:
- entry.orig_path = request.server.escape(entry.orig_path)
+ entry.orig_path = request.server.escape(entry.orig_path)
if entry.copy_path:
entry.copy_path = request.server.escape(entry.copy_path)
entries.append(entry)
+ if last_one:
+ break
data = common_template_data(request)
data.update({
@@ -2562,21 +2592,29 @@
return date1, date2, flag, string.join(header_lines, '')
+def _get_svn_location(request, base_rev, rev):
+ repos = request.repos
+ try:
+ parts = _path_parts(vclib.svn.get_location(repos, request.where,
+ repos._getrev(base_rev),
+ repos._getrev(rev)))
+ except vclib.InvalidRevision:
+ raise debug.ViewVCException('Invalid path(s) or revision(s) passed '
+ 'to diff', '400 Bad Request')
+ except vclib.ItemNotFound:
+ raise debug.ViewVCException('Invalid path(s) or revision(s) passed '
+ 'to diff', '400 Bad Request')
+ if request.cfg.is_forbidden(request.rootname, parts, vclib.FILE):
+ raise debug.ViewVCException('Invalid path(s) or revision(s) passed '
+ 'to diff', '400 Bad Request')
+ return parts
+
+
def _get_diff_path_parts(request, query_key, rev, base_rev):
if request.query_dict.has_key(query_key):
parts = _path_parts(request.query_dict[query_key])
elif request.roottype == 'svn':
- try:
- repos = request.repos
- parts = _path_parts(vclib.svn.get_location(repos, request.where,
- repos._getrev(base_rev),
- repos._getrev(rev)))
- except vclib.InvalidRevision:
- raise debug.ViewVCException('Invalid path(s) or revision(s) passed '
- 'to diff', '400 Bad Request')
- except vclib.ItemNotFound:
- raise debug.ViewVCException('Invalid path(s) or revision(s) passed '
- 'to diff', '400 Bad Request')
+ parts = _get_svn_location(request, base_rev, rev)
else:
parts = request.path_parts
return parts
@@ -2896,6 +2934,11 @@
if cvs and (file.rev is None or file.dead):
continue
+ # Skip forbidden files.
+ if request.cfg.is_forbidden(request.rootname, rep_path + [file.name],
+ file.kind):
+ continue
+
# If we get here, we've seen at least one valid file in the
# current directory. For CVS, we need to make sure there are
# directory parents to contain it, so we flush the stack.
@@ -2926,13 +2969,16 @@
if file.errors or file.kind != vclib.DIR:
continue
- # Skip forbidden/hidden directories (top-level only).
- if not rep_path:
- if (request.cfg.is_forbidden(file.name)
- or (cvs and request.cfg.options.hide_cvsroot
- and file.name == 'CVSROOT')):
- continue
+ # Skip hidden directories (top-level only).
+ if request.cfg.options.hide_cvsroot \
+ and is_cvsroot_path(request.roottype, rep_path + [file.name]):
+ continue
+ # Skip forbidden subdirs.
+ if request.cfg.is_forbidden(request.rootname, rep_path + [file.name],
+ file.kind):
+ continue
+
mtime = request.roottype == 'svn' and file.date or None
generate_tarball(out, request, reldir + [file.name], stack, mtime)
@@ -2976,6 +3022,14 @@
if check_freshness(request, None, str(rev), weak=1):
return
+ # Strip forbidden changed paths (we allow forbidden copyfrom-paths
+ # to leak through, though).
+ def _only_allowed(change):
+ return not request.cfg.is_forbidden(request.rootname,
+ _path_parts(change.filename),
+ change.pathtype)
+ changes = filter(_only_allowed, changes)
+
# Handle limit_changes parameter
cfg_limit_changes = request.cfg.options.limit_changes
limit_changes = int(query_dict.get('limit_changes', cfg_limit_changes))
@@ -3001,10 +3055,24 @@
pathtype = (change.pathtype == vclib.FILE and 'file') \
or (change.pathtype == vclib.DIR and 'dir') \
or None
- if (change.action == 'added' or change.action == 'replaced') \
- and not change.is_copy:
- change.text_mods = 0
- change.prop_mods = 0
+
+ # If this is an add or a replacement, we'll verify that copyfrom
+ # paths are readable (if this is a copy), and if not claim this
+ # isn't a copy after all. And if it ain't a copy (now or "after
+ # all"), we'll clear the text_mods and prop_mods flags.
+ if (change.action == 'added' or change.action == 'replaced'):
+ if change.is_copy \
+ and request.cfg.is_forbidden(request.rootname,
+ _path_parts(change.base_path),
+ change.pathtype):
+ change.is_copy = 0
+ if change.action == 'added':
+ change.base_path = None
+ change.base_rev = None
+
+ if not change.is_copy:
+ change.text_mods = 0
+ change.prop_mods = 0
view_func = None
if change.pathtype is vclib.FILE:
@@ -3219,28 +3287,24 @@
r = r[:-2]
return string.join(r, '.')
-def build_commit(request, files, limited_files, dir_strip):
- commit = _item(num_files=len(files), files=[])
- commit.limited_files = ezt.boolean(limited_files)
- desc = files[0].GetDescription()
- commit.log = htmlify(desc)
- commit.short_log = format_log(desc, request.cfg)
- commit.author = request.server.escape(files[0].GetAuthor())
- commit.rss_date = make_rss_time_string(files[0].GetTime(), request.cfg)
- if request.roottype == 'svn':
- commit.rev = files[0].GetRevision()
- commit.rss_url = '%s://%s%s' % \
- (request.server.getenv("HTTPS") == "on" and "https" or "http",
- request.server.getenv("HTTP_HOST"),
- request.get_url(view_func=view_revision,
- params={'revision': commit.rev},
- escape=1))
- else:
- commit.rev = None
- commit.rss_url = None
+def build_commit(request, files, max_files, dir_strip, format):
+ """Return a commit object build from the information in FILES, or
+ None if no allowed files are present in the set. DIR_STRIP is the
+ path prefix to remove from the commit object's set of files. If
+ MAX_FILES is non-zero, it is used to limit the number of files
+ returned in the commit object. FORMAT is the requested output
+ format of the query request."""
+ author = files[0].GetAuthor()
+ date = files[0].GetTime()
+ desc = files[0].GetDescription()
+ commit_rev = files[0].GetRevision()
len_strip = len(dir_strip)
-
+ commit_files = []
+ num_allowed = 0
+ plus_count = 0
+ minus_count = 0
+
for f in files:
commit_time = f.GetTime()
if commit_time:
@@ -3257,8 +3321,16 @@
assert dirname[:len_strip] == dir_strip
assert len(dirname) == len_strip or dirname[len(dir_strip)] == '/'
dirname = dirname[len_strip+1:]
- filename = dirname and ("%s/%s" % (dirname, filename)) or filename
+ where = dirname and ("%s/%s" % (dirname, filename)) or filename
+ # skip files in forbidden or hidden modules
+ path_parts = _path_parts(where)
+ if request.cfg.is_forbidden(request.rootname, path_parts, vclib.FILE):
+ continue
+ if request.cfg.options.hide_cvsroot \
+ and is_cvsroot_path(request.roottype, path_parts):
+ continue
+
# In CVS, we can actually look at deleted revisions; in Subversion
# we can't -- we'll look at the previous revision instead.
if request.roottype == 'svn':
@@ -3273,14 +3345,14 @@
where=dirname, pathtype=vclib.DIR,
params=params, escape=1)
log_href = request.get_url(view_func=view_log,
- where=filename, pathtype=vclib.FILE,
+ where=where, pathtype=vclib.FILE,
params=params, escape=1)
diff_href = view_href = download_href = None
view_href = request.get_url(view_func=view_markup,
- where=filename, pathtype=vclib.FILE,
+ where=where, pathtype=vclib.FILE,
params=params, escape=1)
download_href = request.get_url(view_func=view_checkout,
- where=filename, pathtype=vclib.FILE,
+ where=where, pathtype=vclib.FILE,
params=params, escape=1)
if change_type == 'Change':
diff_href_params = params.copy()
@@ -3290,27 +3362,29 @@
'diff_format': None
})
diff_href = request.get_url(view_func=view_diff,
- where=filename, pathtype=vclib.FILE,
+ where=where, pathtype=vclib.FILE,
params=diff_href_params, escape=1)
prefer_markup = ezt.boolean(default_view(guess_mime(filename),
- request.cfg) == view_markup)
+ request.cfg) == view_markup)
- # skip files in forbidden or hidden modules
- dir_parts = filter(None, string.split(dirname, '/'))
- if dir_parts \
- and ((dir_parts[0] == 'CVSROOT'
- and request.cfg.options.hide_cvsroot) \
- or request.cfg.is_forbidden(dir_parts[0])):
+ # Update plus/minus line change count.
+ plus = int(f.GetPlusCount())
+ minus = int(f.GetMinusCount())
+ plus_count = plus_count + plus
+ minus_count = minus_count + minus
+
+ num_allowed = num_allowed + 1
+ if max_files and num_allowed > max_files:
continue
- commit.files.append(_item(date=commit_time,
+ commit_files.append(_item(date=commit_time,
dir=request.server.escape(dirname),
- file=request.server.escape(f.GetFile()),
+ file=request.server.escape(filename),
author=request.server.escape(f.GetAuthor()),
rev=rev,
branch=f.GetBranch(),
- plus=int(f.GetPlusCount()),
- minus=int(f.GetMinusCount()),
+ plus=plus,
+ minus=minus,
type=change_type,
dir_href=dir_href,
log_href=log_href,
@@ -3318,6 +3392,30 @@
download_href=download_href,
prefer_markup=prefer_markup,
diff_href=diff_href))
+
+ # No files survived forbiddenness checks? Let's just pretend this
+ # little commit didn't happen, shall we?
+ if not len(commit_files):
+ return None
+
+ commit = _item(num_files=len(commit_files), files=commit_files,
+ plus=plus_count, minus=minus_count)
+ commit.limited_files = ezt.boolean(num_allowed > len(commit_files))
+ commit.log = htmlify(desc)
+ commit.short_log = format_log(desc, request.cfg, format != 'rss')
+ commit.author = request.server.escape(author)
+ commit.rss_date = make_rss_time_string(date, request.cfg)
+ if request.roottype == 'svn':
+ commit.rev = commit_rev
+ commit.rss_url = '%s://%s%s' % \
+ (request.server.getenv("HTTPS") == "on" and "https" or "http",
+ request.server.getenv("HTTP_HOST"),
+ request.get_url(view_func=view_revision,
+ params={'revision': commit.rev},
+ escape=1))
+ else:
+ commit.rev = None
+ commit.rss_url = None
return commit
def query_backout(request, commits):
@@ -3365,7 +3463,7 @@
format = request.query_dict.get('format')
limit = int(request.query_dict.get('limit', 0))
limit_changes = int(request.query_dict.get('limit_changes',
- request.cfg.options.limit_changes))
+ request.cfg.options.limit_changes))
match_types = { 'exact':1, 'like':1, 'glob':1, 'regex':1, 'notregex':1 }
sort_types = { 'date':1, 'author':1, 'file':1 }
@@ -3451,46 +3549,49 @@
current_desc = query.commit_list[0].GetDescriptionID()
current_rev = query.commit_list[0].GetRevision()
dir_strip = _path_join(repos_dir)
+
for commit in query.commit_list:
- # base modification time on the newest commit ...
- if commit.GetTime() > mod_time: mod_time = commit.GetTime()
- # form plus/minus totals
- plus_count = plus_count + int(commit.GetPlusCount())
- minus_count = minus_count + int(commit.GetMinusCount())
- # group commits with the same commit message ...
- desc = commit.GetDescriptionID()
+ commit_desc = commit.GetDescriptionID()
+ commit_rev = commit.GetRevision()
+
+ # base modification time on the newest commit
+ if commit.GetTime() > mod_time:
+ mod_time = commit.GetTime()
+
# For CVS, group commits with the same commit message.
# For Subversion, group them only if they have the same revision number
if request.roottype == 'cvs':
- if current_desc == desc:
- if not limit_changes or len(files) < limit_changes:
- files.append(commit)
- else:
- limited_files = 1
+ if current_desc == commit_desc:
+ files.append(commit)
continue
else:
- if current_rev == commit.GetRevision():
- if not limit_changes or len(files) < limit_changes:
- files.append(commit)
- else:
- limited_files = 1
+ if current_rev == commit_rev:
+ files.append(commit)
continue
- # if our current group has any allowed files, append a commit
- # with those files.
- if len(files):
- commits.append(build_commit(request, files, limited_files, dir_strip))
+ # append this grouping
+ commit_item = build_commit(request, files, limit_changes,
+ dir_strip, format)
+ if commit_item:
+ # update running plus/minus totals
+ plus_count = plus_count + commit_item.plus
+ minus_count = minus_count + commit_item.minus
+ commits.append(commit_item)
files = [ commit ]
limited_files = 0
- current_desc = desc
- current_rev = commit.GetRevision()
+ current_desc = commit_desc
+ current_rev = commit_rev
- # we need to tack on our last commit grouping, but, again, only if
- # it has allowed files.
- if len(files):
- commits.append(build_commit(request, files, limited_files, dir_strip))
-
+ # we need to tack on our last commit grouping, if any
+ commit_item = build_commit(request, files, limit_changes,
+ dir_strip, format)
+ if commit_item:
+ # update running plus/minus totals
+ plus_count = plus_count + commit_item.plus
+ minus_count = minus_count + commit_item.minus
+ commits.append(commit_item)
+
# only show the branch column if we are querying all branches
# or doing a non-exact branch match on a CVS repository.
show_branch = ezt.boolean(request.roottype == 'cvs' and
@@ -3534,7 +3635,7 @@
})
if format == 'rss':
- request.server.header("text/xml")
+ request.server.header("application/rss+xml")
generate_page(request, "rss", data)
else:
request.server.header()
@@ -3564,10 +3665,10 @@
def list_roots(cfg):
allroots = { }
- for root in cfg.general.cvs_roots.keys():
- allroots[root] = [cfg.general.cvs_roots[root], 'cvs']
for root in cfg.general.svn_roots.keys():
allroots[root] = [cfg.general.svn_roots[root], 'svn']
+ for root in cfg.general.cvs_roots.keys():
+ allroots[root] = [cfg.general.cvs_roots[root], 'cvs']
return allroots
def load_config(pathname=None, server=None):
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/lib/win32popen.py
^
|
@@ -1,6 +1,6 @@
# -*-python-*-
#
-# Copyright (C) 1999-2006 The ViewCVS Group. All Rights Reserved.
+# Copyright (C) 1999-2007 The ViewCVS Group. All Rights Reserved.
#
# By using this file, you agree to the terms and conditions set forth in
# the LICENSE.html file which can be found at the top level of the ViewVC
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/notes
^
|
+(directory)
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/notes/TODO
^
|
@@ -0,0 +1,53 @@
+PREFACE
+-------
+This file will go away soon after release 0.8. Please use the SourceForge
+tracker to resubmit any of the items listed below, if you think, it is
+still an issue:
+ http://sourceforge.net/tracker/?group_id=18760
+Before reporting please check, whether someone else has already done this.
+Working patches increase the chance to be included into the next release.
+ -- PeFu / October 2001
+
+TODO ITEMS
+----------
+*) add Tamminen Eero's comments on how to make Linux directly execute
+ the Python script. From email on Feb 19.
+ [ add other examples, such as my /bin/sh hack or the teeny CGI stub
+ importing the bulk hack ]
+
+*) insert rcs_path into PATH before calling "rcsdiff". rcsdiff might
+ use "co" and needs to find it on the path.
+
+*) show the "locked" flag (attach it to the LogEntry objects).
+ Idea from Russell Gordon <russell@hoopscotch.dhs.org>
+
+*) committing with a specific revision number:
+ http://mailman.lyra.org/pipermail/viewcvs/2000q1/000008.html
+
+*) add capability similar to cvs2cl.pl:
+ http://mailman.lyra.org/pipermail/viewcvs/2000q2/000050.html
+ suggestion from Chris Meyer <cmeyer@gatan.com>.
+
+*) add a tree view of the directory structure (and files?)
+
+*) include a ConfigParser.py to help older Python installations
+
+*) add a check for the rcs programs/paths to viewvc-install. clarify the
+ dependency on RCS in the docs.
+
+*) have a "check" mode that verifies binaries are available on rcs_path
+
+ -> alternately (probably?): use rcsparse rather than external tools
+
+KNOWN BUGS
+----------
+*) time.timezone seems to not be available on some 1.5.2 installs.
+ I was unable to verify this. On RedHat and SuSE Linux this bug
+ is non existant.
+
+*) With old repositories containing many branches, tags or thousands
+ or revisions, the cvsgraph feature becomes unusable (see INSTALL).
+ ViewVC can't do much about this, but it might be possible to
+ investigate the number of branches, tags and revision in advance
+ and disable the cvsgraph links, if the numbers exceed a certain
+ treshold.
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/notes/releases.txt
^
|
@@ -0,0 +1,85 @@
+ RELEASE MANAGEMENT
+
+ViewVC rolls releases from release branches associate with each minor
+version of the software. For example, the 1.1.0 is rolled from the
+1.1.x branch. The same is true for the 1.1.1, 1.1.2, ... releases.
+
+There is a script, `tools/make-release', which creates a release
+directory and the various archive files that we distribute. All other
+steps required to get a ViewVC release out of the door require manual
+execution (currently by C. Michael Pilato). Those steps are as
+follows:
+
+Checkout a working copy of the release branch for the release you
+intend to roll, and in that working copy, perform the following steps
+(X, Y, and Z below represent integral major, minor, and patch version
+numbers, and not literal):
+
+1. Review any open bug reports:
+
+ http://viewvc.tigris.org/servlets/ProjectIssues
+
+2. Add a new subsection to the file 'docs/upgrading.html' describing
+ all user visible changes for users of previous releases of ViewVC.
+ Commit any modifications. NOTE: This step should not be necessary
+ for patch releases.
+
+3. Verify that copyright years are correct in both the LICENSE.html
+ file and the source code.
+
+4. Update and commit the 'CHANGES' file.
+
+5. Test, test, test! There is no automatic testsuite available. So
+ just run with permuting different `viewvc.conf' settings... and
+ pray. Fix what needs fixin', keeping the CHANGES file in sync
+ with the branch.
+
+6. At this point, the source code committed to the release branch
+ should exactly reflect what you wish to distribute and dub "the
+ release".
+
+7. Edit the file 'lib/viewvc.py' and remove the "-dev" suffix from
+ __version__. The remainder should be of the form "X.Y.Z", where X,
+ Y, and Z are positive integers. Do NOT commit this change.
+
+8. Update your working copy to HEAD, and tag the release:
+
+ svn update
+ svn cp -m "Tag the X.Y.Z final release." . \
+ http://viewvc.tigris.org/svn/viewvc/tags/X.Y.Z
+
+9. Go into an empty directory and run the 'make-release' script:
+
+ tools/make-release viewvc-X.Y.Z X.Y.Z
+
+10. Verify the archive files:
+
+ - do they have a LICENSE.html file?
+ - do they have necessary include documentation?
+ - do they *not* have unnecessary stuff?
+ - do they install and work correctly?
+
+11. Upload the created archive files (tar.gz and zip) into the Files
+ and Documents section of the Tigris.org project, and modify the
+ CHECKSUMS document there accordingly. Also, drop a copy of the
+ archive files into the root directory of the viewvc.org website
+ (unversioned).
+
+12. Update the websites (both the viewvc.org/ and www/ ones) to refer
+ to the new release files.
+
+13. Edit the file 'lib/viewvc.py' again, re-adding the "-dev" suffix
+ and incrementing the patch number assigned to the __version__
+ variable, and commit:
+
+ svn ci -m "Begin a new release cycle."
+
+14. Edit the Issue Tracker configuration options, adding a new Version
+ for the just-released one, and a new Milestone for the next patch
+ (and possibly, minor or major) release. (For the Milestone sort
+ key, use a packed integer XXYYZZ: 1.0.3 == 10003, 2.11.4 == 21104.)
+
+15. Write an announcement explaining all the cool new features and
+ post it to the announce@ list, to the project's News area, and to
+ other places interested in this sort of stuff, such as Freshmeat
+ (http://www.freshmeat.net).
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib
^
|
+(directory)
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/README
^
|
@@ -0,0 +1,5 @@
+This directory contains ViewVC template sets contributed by their
+respective authors and expected to work against ViewVC 1.0.x. They
+are not necessarily supported by the ViewVC development community, and
+do not necessarily carry the same license or copyright as ViewVC
+itself.
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn
^
|
+(directory)
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/INSTALL
^
|
@@ -0,0 +1,132 @@
+I. BASIC INSTALLATION
+
+
+Let ViewVC use the viewsvn templates folder as templates. You can either delete the original
+templates folder in the ViewVC installation directory and copy the one from this archive to
+the ViewVC installation directory or copy the templates folder from this archive with a different
+name to the ViewVC installation directory and change the template_dir option in viewvc.conf
+
+template_dir = templates-viewsvn
+
+Leave the section [templates] as is, thus do not override any templates.
+
+
+
+
+II. TWEAKS
+
+
+1. Set your own favicon
+
+Modify include/header.ezt, line 9, to include your favicon.
+
+
+2. Let your own logo appear in the upper right area and link to your homepage.
+
+Modify include/header.ezt, line 78, to include your link and logo.
+
+
+3. Enable TortoiseSVN checkout links.
+
+If you are certain that most of your guest use TortoiseSVN you can give them the ability
+to use TortoiseSVN checkout links
+(see http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-repository-links.html). This wil
+only work if all your repositories share the same base location, e.g. http://svn.server/svn/.
+This is mostly the case if you are using the mod_dav_svn SVNParentPath directive.
+
+Modify include/dir_footer.ezt, line 44. Enable this section and configure your subversion location.
+
+
+
+
+III. EXTRAS
+
+
+1. fix-blame-output.diff
+
+If you are running ViewVC 1.0 and you are suffering from a broken blame/annotate output because of
+long author names you can apply this patch. Note that Subversion 1.3.1 or higher is required.
+
+
+2. svnindex.xsl & svnindex.css
+
+If you are using mod_dav_svn to host your repository you can teach it to use a stylesheet if you are
+browsing the repository directly. Take a look at the SVNIndexXSLT directive for more information.
+You can use the .xsl and .css from the extras folder to get a look & feel that is similiar to this
+ViewVC template. Note that these stylesheets knows nothing about ViewVC. You have to teach
+svnindex.xsl where the [docroot] folder exists. If it is /docroot you have to change nothing,
+otherwise edit line 68, 82 and 97.
+
+
+
+
+IV. EXAMPLE VIEWVC.CONF
+
+
+The following viewvc.conf setting were used to create the templates, do not copy these blindly,
+just check them if something seems wrong:
+
+[general]
+root_parents = [REPOSPATH] : svn
+use_rcsparse = 0
+mime_types_file = [PATHTO]\mime.types
+address = <a href="mailto:[ADRESS]">Admin</a>
+forbidden =
+kv_files =
+languages = en-us
+[options]
+root_as_url_component = 0
+default_file_view = log
+checkout_magic = 0
+http_expiration_time = 600
+generate_etags = 1
+sort_by = file
+sort_group_dirs = 1
+hide_attic = 1
+log_sort = date
+diff_format = h
+hide_cvsroot = 1
+hr_breakable = 1
+hr_funout = 0
+hr_ignore_white = 1
+hr_ignore_keyword_subst = 1
+hr_intraline = 0
+allow_annotate = 1
+allow_markup = 1
+allow_compress = 1
+template_dir = templates-viewsvn
+docroot = [PATHTO]/docroot
+show_subdir_lastmod = 0
+show_logs = 1
+show_log_in_markup = 1
+cross_copies = 0
+use_localtime = 1
+py2html_path = .
+short_log_len = 80
+use_enscript = 0
+enscript_path =
+use_highlight = 1
+highlight_path = [PATH]
+highlight_line_numbers = 1
+highlight_convert_tabs = 2
+use_php = 0
+php_exe_path = php
+allow_tar = 0
+use_cvsgraph = 0
+cvsgraph_path =
+cvsgraph_conf = cvsgraph.conf
+use_re_search = 0
+use_pagesize = 200
+limit_changes = 100
+[templates]
+[cvsdb]
+enabled = 1
+host = localhost
+port = 3306
+database_name = ViewVC
+user = [UID]
+passwd = [PWD]
+readonly_user = [UID]
+readonly_passwd = [PWD]
+#row_limit = 1000
+[vhosts]
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/README
^
|
@@ -0,0 +1,52 @@
+I. INTRODUCTION
+
+
+ViewVC is a Subversion and CVS webbased repository viewer. Templates-viewsvn is
+a set of templates for a different look & feel.
+
+Warning:
+Do not use this template set if you plan to view cvs repositories through ViewVC!
+This template-set is heavily trimmed for Subversion needs. Special CVS features are
+untested, possibly disabled or broken.
+
+Please report enhancemants back to the ViewVC project or to me.
+jpeters7677@gmx.de
+
+
+
+
+II. COMPATABILITY
+
+
+This template is compatible with ViewVC 1.0.x
+
+
+
+
+III. CREDITS
+
+
+Stylesheet color codes:
+Subversion Mailing List Archive
+http://svn.haxx.se/
+
+Images:
+All images in templates/docroot/images/tortoisesvn are licensed under the
+ToirtoiseSVN Icon license. See license.txt in this folder for more details.
+
+
+
+
+IV. LINKS
+
+
+ViewVC:
+http://www.viewvc.org/
+
+Subversion:
+http://subversion.tigris.org/
+
+TortoiseSVN:
+http://tortoisesvn.net/
+
+
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/screenshots
^
|
+(directory)
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/screenshots/diff.png
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/screenshots/dir.png
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/screenshots/log.png
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/screenshots/markup.png
^
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates
^
|
+(directory)
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/annotate.ezt
^
|
@@ -0,0 +1,43 @@
+[# setup page definitions][define page_title]Annotation of /[where][end][define help_href][docroot]/help_rootview.html[end][# end][include "include/header.ezt" "annotate"]
+[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] -
+<a href="[view_href]" title="View"><img src="[docroot]/images/text.png" alt="View"/></a>
+<a href="[download_href]" title="Download"><img src="[docroot]/images/download.png" alt="Download"/></a>
+[if-any orig_path]
+ <br />Original Path: <a href="[orig_href]"><em>[orig_path]</em></a>
+[end]
+</div>
+
+<br/>
+
+[define class1]vc_row_even[end]
+[define class2]vc_row_odd[end]
+[define last_rev]0[end]
+[define rowclass][class1][end]
+
+<table cellspacing="0" cellpadding="0">
+[for lines]
+ [is lines.rev last_rev]
+ [else]
+ [is rowclass class1]
+ [define rowclass][class2][end]
+ [else]
+ [define rowclass][class1][end]
+ [end]
+ [end]
+
+ <tr class="[rowclass]" id="l[lines.line_number]">
+ <td class="vc_blame_line">[lines.line_number] :</td>
+ <td class="vc_blame_author">[is lines.rev last_rev] [else][lines.author][end]</td>
+ <td class="vc_blame_rev">[is lines.rev last_rev] [else][if-any lines.diff_url]<a href="[lines.diff_url]">[end][lines.rev][if-any lines.diff_url]</a>[end][end]</td>
+ <td class="vc_blame_text">[lines.text]</td>
+ </tr>
+ [define last_rev][lines.rev][end]
+[end]
+</table>
+
+[include "include/footer.ezt"]
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/diff.ezt
^
|
@@ -0,0 +1,234 @@
+[# 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]
+
+[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 path_left path_right][else][path_left][end]
+ Revision [rev_left] [date_left]
+ [if-any tag_left]<br />Tag: [tag_left][end]
+ </th>
+ <th style="width:47%; vertical-align:top;">
+ [is path_left path_right][else][path_right][end]
+ Revision [rev_right] [date_right]
+ [if-any tag_right]<br />Tag: [tag_right][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 id="l[changes.line_number]">[if-any annotate_href]<a href="[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 id="l[changes.line_number]">[if-any annotate_href]<a href="[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 id="l[changes.line_number]">[if-any annotate_href]<a href="[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 path_left path_right][else][path_left][end]
+ Revision [rev_left]
+ </th>
+ <th colspan="2">
+ [is path_left path_right][else][path_right][end]
+ Revision [rev_right]
+ </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[rev_left]</th>
+ <th>r[rev_right]</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>
+ [diff_format_hidden_values]
+ <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="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.[rev_left]</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.[rev_right]</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+[end]
+ </td>
+ </tr>
+</table>
+
+[include "include/footer.ezt"]
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/directory.ezt
^
|
@@ -0,0 +1,128 @@
+[include "include/dir_header.ezt"]
+
+<table cellspacing="1" cellpadding="2">
+<thead>
+<tr>
+ <th class="vc_header[is sortby "file"]_sort[end]" colspan="2">
+ <a href="[sortby_file_href]#dirlist">File</a>
+ <a href="[sortby_file_href]#dirlist" class="img">
+ [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]
+ </a>
+ </th>
+ <th class="vc_header[is sortby "rev"]_sort[end]">
+ <a href="[sortby_rev_href]#dirlist">Rev.</a>
+ <a href="[sortby_rev_href]#dirlist" class="img">
+ [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]
+ </a>
+ </th>
+ <th class="vc_header[is sortby "date"]_sort[end]">
+ <a href="[sortby_date_href]#dirlist">Age</a>
+ <a href="[sortby_date_href]#dirlist" class="img">
+ [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]
+ </a>
+ </th>
+ <th class="vc_header[is sortby "author"]_sort[end]">
+ <a href="[sortby_author_href]#dirlist">Author</a>
+ <a href="[sortby_author_href]#dirlist" class="img">
+ [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]
+ </a>
+ </th>
+[is cfg.options.show_logs "1"]
+ <th class="vc_header[is sortby "log"]_sort[end]">
+ <a href="[sortby_log_href]#dirlist">Last log entry</a>
+ <a href="[sortby_log_href]#dirlist" class="img">
+ [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]
+ </a>
+ </th>
+[end]
+</tr>
+</thead>
+
+<tbody>
+[if-any up_href]
+ <tr class="vc_row_odd">
+ <td colspan="2">
+ <a href="[up_href]" class="img"><img src="[docroot]/images/tortoisesvn/back_small.png" alt="" width="16" height="16"/></a>
+
+ <a href="[up_href]">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 href="[entries.view_href]" title="View directory contents" class="img">
+ <img src="[docroot]/images/[is entries.pathtype "dir"]dir[else][is entries.state "dead"]broken[else]text[end][end].png" alt="View directory contents" width="16" height="16" />
+ </a>
+
+ [else]
+ <a href="[if-any entries.prefer_markup][entries.view_href][else][entries.download_href][end]" title="[if-any entries.prefer_markup]View[else]Download[end] file contents" class="img">
+ <img src="[docroot]/images/[is entries.pathtype "dir"]dir[else][is entries.state "dead"]broken[else]text[end][end].png" alt="[if-any entries.prefer_markup]View[else]Download[end] file contents" width="16" height="16" />
+ </a>
+
+ [end]
+
+ [is entries.state "dead"](dead)[end]
+ [is entries.pathtype "dir"]
+ <a href="[entries.view_href]" title="View directory contents">
+ [else]
+ <a href="[if-any entries.prefer_markup][entries.view_href][else][entries.download_href][end]" title="[if-any entries.prefer_markup]View[else]Download[end] file contents">
+ [end]
+ [entries.name][is entries.pathtype "dir"]/[end]</a>
+ [is entries.state "dead"](dead)[end]
+ </td>
+ [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]
+ <td> [if-any entries.rev]<a name="[entries.anchor]" href="[entries.log_href]" title="View file revision log"><strong>[entries.rev]</strong></a>[end]</td>
+ [end]
+ <td> [entries.ago]</td>
+ <td> [entries.author]</td>
+ [is cfg.options.show_logs "1"]
+ [if-any entries.log]
+ <td> [entries.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"]
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot
^
|
+(directory)
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images
^
|
+(directory)
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/broken.png
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/dir.png
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/down.png
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/download.png
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/favicon-svn.ico
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/feed-icon-16x16.jpg
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/logo-svn.png
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/logo-viewvc.png
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/svn.png
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/text.png
^
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/tortoisesvn
^
|
+(directory)
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/tortoisesvn/back.png
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/tortoisesvn/back_small.png
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/tortoisesvn/blame.png
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/tortoisesvn/checkout.png
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/tortoisesvn/diff.png
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/tortoisesvn/forward.png
^
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/tortoisesvn/license.txt
^
|
@@ -0,0 +1,39 @@
+The icons in these folders are available either under the terms
+of the GNU Public License, or under the terms of the TortoiseSVN
+Icon License below, unless the folder contains an alternative
+license file.
+
+====================================================================
+Copyright (c) 2006 The TortoiseSVN Project. All rights reserved.
+
+Redistribution and use of these icons, with or without modification,
+are permitted provided that the following conditions are met:
+
+1. Redistributions of these icons as part of a source or binary
+ distribution must retain the above copyright notice and this
+ list of conditions.
+
+2. The icons may only be used for a Subversion client application,
+ or for an application with Subversion support (e.g. an IDE).
+ You may not use these icons for to represent actions which are
+ not directly related to Subversion. If the application supports
+ other version control systems besides Subversion, the icons may
+ be used for those other version control systems too.
+
+3. Software using these icons must provide an acknowledgement
+ that the icons were derived from the TortoiseSVN project,
+ with a link to the project website (tortoisesvn.tigris.org)
+ in one or more of the following places:
+ a) an "about" box.
+ b) the product user manual.
+ c) a textfile in the installation folder of the application.
+ d) a contributors page on the product web page.
+
+4. The name "TortoiseSVN" must not be used to endorse or
+ promote products using these icons without prior written
+ permission. For written permission, please contact
+ dev@tortoisesvn.tigris.org.
+
+5. If you provide additional icon sets for Subversion actions or
+ status besides those you use from us, you must give us
+ permission to use your icon sets too.
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/tortoisesvn/log.png
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/tortoisesvn/patch.png
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/tortoisesvn/repos.png
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/tortoisesvn/tsvn.png
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/up.png
^
|
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/images/viewvc.png
^
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/docroot/styles.css
^
|
@@ -0,0 +1,228 @@
+/*******************************/
+/*** ViewVC CSS Stylesheet ***/
+/*******************************/
+
+/*** Standard Tags ***/
+html, body {
+ color: #000000;
+ background-color: #ffffff;
+ font-family: arial,helvetica,sans-serif;
+ font-size: 12px;
+}
+
+a { text-decoration:none;}
+a:hover { text-decoration:underline;}
+a:link { color: #0000ff; }
+a:visited { color: #880088; }
+a:active { color: #0000ff; }
+.img a:hover { text-decoration:none;}
+
+img { border: none; }
+
+table {
+ width: 100%;
+ margin: 0;
+ border: none;
+}
+table.auto {
+ width: auto;
+}
+tr, td, th { vertical-align: top; }
+form { margin: 0; }
+
+hr{
+ color: #eeeeee;
+ background-color: #eeeeee;
+ height: 1px;
+ border: none;
+}
+
+h1{
+ font-size: 24px;
+ color: #000066
+}
+
+
+/** Navigation Headers ***/
+.vc_navheader {
+ background-color: #e0e0ff;
+ font-size: 13px;
+ vertical-align:middle;
+}
+.vc_navheader td{
+ vertical-align:middle;
+}
+
+/*** Table Headers ***/
+.vc_header {
+ text-align: left;
+ vertical-align: top;
+ background-color: #e0e0ff;
+}
+.vc_header_sort {
+ text-align: left;
+ background-color: #e0e0ff;
+}
+
+
+/*** Table Rows ***/
+.vc_row_even {
+ background-color: #ffffff;
+}
+.vc_row_odd {
+ background-color: #eeeeee;
+}
+
+
+/*** 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+ */
+ background-color: #eeeeee;
+}
+
+
+/*** Markup Summary Header ***/
+.vc_summary {
+ background-color: #eeeeee;
+}
+
+/*** Highlight Markup Styles ***/
+#vc_markup .num { color: #000000; }
+#vc_markup .esc { color: #bd8d8b; }
+#vc_markup .str { color: #bd8d8b; }
+#vc_markup .dstr { color: #bd8d8b; }
+#vc_markup .slc { color: #ac2020; font-style: italic; }
+#vc_markup .com { color: #ac2020; font-style: italic; }
+#vc_markup .dir { color: #000000; }
+#vc_markup .sym { color: #000000; }
+#vc_markup .line { color: #555555; }
+#vc_markup .kwa { color: #9c20ee; font-weight: bold; }
+#vc_markup .kwb { color: #208920; }
+#vc_markup .kwc { color: #0000ff; }
+#vc_markup .kwd { color: #404040; }
+
+/*** Py2html Markup Styles ***/
+#vc_markup .PY_STRING { color: #bd8d8b; }
+#vc_markup .PY_COMMENT { color: #ac2020; font-style: italic; }
+#vc_markup .PY_KEYWORD { color: #9c20ee; font-weight: bold; }
+#vc_markup .PY_IDENTIFIER { color: #404040; }
+
+/*** Line numbers outputted by highlight colorizer ***/
+.line {
+ border-right-width: 1px;
+ border-right-style: solid;
+ border-right-color: #505050;
+ padding: 1px;
+ background-color: #eeeeee;
+ color: #505050;
+ text-decoration: none;
+ font-weight: normal;
+ font-style: normal;
+}
+
+/*** Diff Styles ***/
+.vc_diff_header {
+ background-color: #ffffff;
+}
+.vc_diff_chunk_header {
+ background-color: #eeeeee;
+}
+.vc_diff_chunk_extra {
+ font-size: smaller;
+}
+.vc_diff_empty {
+ background-color: #c8c8c8;
+ font-family: sans-serif;
+ font-size: smaller;
+}
+.vc_diff_add {
+ background-color: #ffff00;
+ font-family: sans-serif;
+ font-size: smaller;
+}
+.vc_diff_remove {
+ background-color: #ffc864;
+ font-family: sans-serif;
+ font-size: smaller;
+}
+.vc_diff_change {
+ background-color: #ffff96;
+ 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_raw_diff {
+ background-color: #eeeeee;
+ font-size: 12px;
+}
+
+/*** 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;
+}
+
+/*** Annotate Styles ***/
+.vc_blame_line, .vc_blame_author, .vc_blame_rev {
+ font-family: monospace;
+ color: #505050;
+ font-size: 12px;
+ text-align: right;
+ white-space: nowrap;
+ padding-right: 1em;
+}
+.vc_blame_rev {
+ border-right: 1px solid #000000;
+}
+.vc_blame_text {
+ background-color: #ffffff;
+ font-family: monospace;
+ font-size: 12px;
+ text-align: left;
+ white-space: pre;
+ width: 100%;
+}
+
+/*** Query Form ***/
+.vc_query_form {
+ background-color: #e0e0ff;
+}
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/error.ezt
^
|
@@ -0,0 +1,24 @@
+<!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><pre>[msg]</pre></p>
+[end]
+[if-any status]
+ <h4>HTTP Response Status</h4>
+ <p><pre>[status]</pre></p>
+ <hr />
+[end]
+<h4>Python Traceback</h4>
+<p><pre>
+[stacktrace]
+</pre></p>
+</body>
+</html>
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/graph.ezt
^
|
@@ -0,0 +1,11 @@
+[# 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 />
+
+[include "include/footer.ezt"]
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/include
^
|
+(directory)
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/include/diff_form.ezt
^
|
@@ -0,0 +1,63 @@
+ <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>
+ [diff_select_hidden_values]
+ 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="u" [is diff_format "u"]selected="selected"[end]>Unidiff</option>
+ </select>
+ <input type="submit" value=" Get Diffs " />
+ </td>
+ </tr>
+ </table>
+ </form>
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/include/paging.ezt
^
|
@@ -0,0 +1,18 @@
+ [is cfg.options.use_pagesize "0"]
+ [else]
+ [is picklist_len "1"]
+ [else]
+ <hr />
+ <form method="get" action="[log_paging_action]">
+ [log_paging_hidden_values]
+ <input type="submit" value="Go to:" />
+ <select name="log_pagestart" onchange="submit()">
+ [for picklist]
+ <option [is picklist.count log_pagestart]selected[end] value="[picklist.count]">Page [picklist.page]: [picklist.start] - [picklist.end]</option>
+ [end]
+ </select>
+ </form>
+ [end]
+ [end]
+
+
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/include/pathrev_form.ezt
^
|
@@ -0,0 +1,53 @@
+<form method="get" action="[pathrev_action]" style="display: inline">
+<div style="display: inline">
+[pathrev_hidden_values]
+[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">
+[pathrev_clear_hidden_values]
+[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]
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/log.ezt
^
|
@@ -0,0 +1,146 @@
+[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] -
+ [is pathtype "file"]
+ <a href="[entries.view_href]" title="View"><img src="[docroot]/images/text.png" alt="View"/></a>
+ [else]
+ <a href="[entries.view_href]" title="Directory Listing"><img src="[docroot]/images/dir.png" alt="Directory Listing"/></a>
+ [end]
+ [if-any entries.download_href]<a href="[entries.download_href]" title="Download"><img src="[docroot]/images/download.png" alt="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]" title="Blame"><img src="[docroot]/images/tortoisesvn/blame.png" alt="Blame"/></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>[entries.date]</em> ([entries.ago] ago) by <em>[entries.author]</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]
+
+ [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"]
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/markup.ezt
^
|
@@ -0,0 +1,50 @@
+[# setup page definitions]
+ [define page_title]View 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] -
+<a href="[download_href]" title="Download"><img src="[docroot]/images/download.png" alt="Download"/></a>
+<!--[if-any download_text_href](<a href="[download_text_href]"><strong>as text</strong></a>)[end]-->
+[if-any annotate_href]<a href="[annotate_href]" title="Blame"><img src="[docroot]/images/tortoisesvn/blame.png" alt="Blame"/></a>[end]
+
+[if-any vendor_branch] <em>(vendor branch)</em>[end]
+<br />[if-any date]<em>[date]</em>[end]
+ [if-any ago]([ago] ago)[end]
+ [if-any author]by <em>[author]</em>[end]
+[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]
+[is roottype "svn"][if-any size]
+ <br />File size: [size] byte(s)
+[end][end]
+[is state "dead"]
+ <br /><strong><em>FILE REMOVED</em></strong>
+[end]
+[if-any log]
+ <pre class="vc_log">[log]</pre>
+[end]
+</div>
+
+<div id="vc_markup"><pre>[markup]</pre></div>
+
+[include "include/footer.ezt"]
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/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"]
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/query_form.ezt
^
|
@@ -0,0 +1,181 @@
+[# 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]" title="Browse Directory"><img src="[docroot]/images/dir.png" width="16" height="16" alt="Browse Directory" /></a>
+<a href="[dir_href]" class="img">Browse Directory</a></p>
+
+<form action="[query_action]" method="get">
+
+<div class="vc_query_form">
+ [query_hidden_values]
+<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;">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"]
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/query_results.ezt
^
|
@@ -0,0 +1,98 @@
+[# 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><a href="[queryform_href]" title="Modify query" class="img"><img src="[docroot]/images/tortoisesvn/back.png" alt="Modify query" width="16" height="16" /></a> <a href="[queryform_href]">Modify query</a></p>
+<p><strong>[english_query]</strong></p>
+[# <!-- {sql} --> ]
+<!-- <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;">
+ [if-any commits.files.rev]
+ [is commits.files.type "Add"]<a href="[commits.files.log_href]">[end]
+ [is commits.files.type "Change"]<a href="[commits.files.log_href]">[end]
+ [commits.files.rev]
+ [is commits.files.type "Add"]</a>[end]
+ [is commits.files.type "Change"]</a>[end]
+ [else] [end]
+ </td>
+ <td style="vertical-align: top;">
+ <a href="[commits.files.dir_href]">[commits.files.dir]/</a>
+
+ [is commits.files.type "Add"]<a href="[if-any commits.files.prefer_markup][commits.files.view_href][else][commits.files.download_href][end]">[end]
+ [is commits.files.type "Change"]<a href="[if-any commits.files.prefer_markup][commits.files.view_href][else][commits.files.download_href][end]">[end]
+ [commits.files.file]
+ [is commits.files.type "Add"]</a>[end]
+ [is commits.files.type "Change"]</a>[end]
+
+
+ </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="4"><strong>Log:</strong><br />
+ <pre>[commits.log]</pre></td>
+ </tr>
+ </tbody>
+[end]
+</table>
+[end]
+
+[include "include/footer.ezt"]
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/revision.ezt
^
|
@@ -0,0 +1,85 @@
+[# 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>
+ [jump_rev_hidden_values]
+ <input type="text" name="revision" value="[rev]" />
+ <input type="submit" value="Go" />
+ [if-any prev_href]
+ <a href="[prev_href]" title="Previous"><img src="[docroot]/images/tortoisesvn/back.png" alt="Previous" /></a>[end]
+ [if-any next_href] <a href="[next_href]" title="Next"><img src="[docroot]/images/tortoisesvn/forward.png" alt="Next" /></a>[end]
+ </td>
+ </tr>
+ <tr align="left">
+ <th>Author:</th>
+ <td>[author]</td>
+ </tr>
+ <tr align="left">
+ <th>Date:</th>
+ <td>[date] <em>([ago] ago)</em></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>
+
+[if-any more_changes]
+ <div>
+ Only [limit_changes] changes shown,
+ <a href="[more_changes_href]">display [more_changes] more changes...</a>
+ </div>
+[end]
+
+[if-any first_changes]
+ <div><a href="[first_changes_href]">Show only first [first_changes] changes...</div>
+[end]
+
+<table cellspacing="1" cellpadding="2">
+ <thead>
+ <tr align="left">
+ <th class="vc_header_sort">Path</th>
+ <th class="vc_header" width="150">Action</th>
+ <th class="vc_header" width="40"></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]">[end]<img src="[docroot]/images/[is changes.pathtype "dir"]dir[else]text[end].png" width="16" height="16" alt="[changes.path]" /> [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>
+ [changes.action]
+ [if-any changes.prop_mods], props changed[end]
+ </td>
+ <td>
+ <a href="[changes.log_href]" title="Revision Log" class="img"><img src="[docroot]/images/tortoisesvn/log.png" width="16" height="16" alt="Revision Log" /></a>
+ [if-any changes.diff_href]<a href="[changes.diff_href]" title="Diff to previous"><img src="[docroot]/images/tortoisesvn/diff.png" alt="Diff to previous" /></a>[end]
+ </td>
+ </tr>
+ [end]
+ [else]
+ <tr>
+ <td colspan="5">No changed paths.</td>
+ </tr>
+ [end]
+ </tbody>
+</table>
+
+[include "include/footer.ezt"]
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/templates-contrib/viewsvn/templates/roots.ezt
^
|
@@ -0,0 +1,28 @@
+[# 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]" title="[roots.name]" class="img"><img src="[docroot]/images/tortoisesvn/repos.png" alt="[roots.name]" width="16" height="16" /></a>
+ <a href="[roots.href]">[roots.name]</a>
+ </td>
+ </tr>
+[end]
+</tbody>
+
+</table>
+
+[include "include/footer.ezt"]
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/templates/error.ezt
^
|
@@ -9,16 +9,43 @@
<h3>An Exception Has Occurred</h3>
[if-any msg]
- <p><pre>[msg]</pre></p>
+ <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>
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/tools/make-release
^
|
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 1999-2006 The ViewCVS Group. All Rights Reserved.
+# Copyright (C) 1999-2007 The ViewCVS Group. All Rights Reserved.
#
# By using this file, you agree to the terms and conditions set forth in
# the LICENSE.html file which can be found at the top level of the ViewVC
@@ -45,30 +45,44 @@
EOL="--native-eol LF"
fi
- svn export ${EOL} http://viewvc.tigris.org/svn/viewvc/${ROOT} ${TARGET}
+ echo "Beginning build for ${PLATFORM}:"
- ### Various shifting, cleanup.
+ echo " Exporting source code..."
+ svn export --quiet ${EOL} http://viewvc.tigris.org/svn/viewvc/${ROOT} ${TARGET}
- # Documentation is now also distributed together with the release, but
- # we still copy the license file to its traditional place (it is small
- # and many files still contain comments refering to this location):
+ ### Various shifting, cleanup.
# Remove some not useful directories
- rm -r ${TARGET}/{elemx,tests,tools,tparse,viewcvs.sourceforge.net,www}
+ for JUNK in elemx \
+ notes \
+ tests \
+ tools \
+ tparse \
+ viewcvs.sourceforge.net \
+ viewvc.org \
+ www; do
+ if [ -d ${TARGET}/${JUNK} ]; then
+ echo " Removing ${TARGET}/${JUNK}..."
+ rm -r ${TARGET}/${JUNK}
+ fi
+ done
# Make sure permissions are reasonable:
+ echo " Normalizing permissions..."
find ${TARGET} -print | xargs chmod uoa+r
find ${TARGET} -type d -print | xargs chmod uoa+x
if test ${PLATFORM} = windows; then
# Create also a ZIP file for those poor souls :-) still using Windows:
+ echo " Creating ZIP archive..."
zip -qor9 ${TARGET}.zip ${TARGET}
else
# Cut the tarball:
+ echo " Creating tarball archive..."
tar cf - ${TARGET} | gzip -9 > ${TARGET}.tar.gz
fi
# remove target directory
rm -r ${TARGET}
done
-echo 'Done.'
+echo "Done."
|
[-]
[+]
|
Deleted |
viewvc-1.0.x.tar.bz2/viewcvs.sourceforge.net
^
|
-(directory)
|
[-]
[+]
|
Deleted |
viewvc-1.0.x.tar.bz2/viewcvs.sourceforge.net/.htaccess
^
|
@@ -1 +0,0 @@
-RedirectMatch ^(.*)$ http://www.viewvc.org/$1
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/viewvc-install
^
|
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# -*- Mode: python -*-
#
-# Copyright (C) 1999-2006 The ViewCVS Group. All Rights Reserved.
+# Copyright (C) 1999-2007 The ViewCVS Group. All Rights Reserved.
#
# By using this file, you agree to the terms and conditions set forth in
# the LICENSE.html file which can be found at the top level of the ViewVC
@@ -75,8 +75,9 @@
## destination path,
## boolean -- prompt before replacing?)
TREE_LIST = [
- ("lib", "lib", 0),
- ("templates", "templates", 1),
+ ("lib", "lib", 0),
+ ("templates", "templates", 1),
+ ("templates-contrib", "templates-contrib", 1),
]
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/viewvc.conf.dist
^
|
@@ -142,8 +142,9 @@
address = <a href="mailto:cvs-admin@insert.your.domain.here">No admin address has been configured</a>
#
-# This should contain a list of modules in the repository that should not be
-# displayed (by default or by explicit path specification).
+# This should contain a list of modules (that is, top-level directories within
+# repositories) that should not be displayed (by default or by explicit path
+# specification).
#
# This configuration can be a simple list of modules, or it can get quite
# complex:
@@ -162,8 +163,9 @@
#
# Tests are case-sensitive.
#
-forbidden =
-
+# NOTE: This is for the hiding of modules within repositories, *not*
+# for the hiding of repositories (roots) themselves.
+#
# Some examples:
#
# Disallow "example" but allow all others:
@@ -184,6 +186,40 @@
# Allow "xml", forbid other modules starting with "x", and allow the rest:
# forbidden = !xml, x*, !*
#
+forbidden =
+
+#
+# This is similar to 'forbidden', but differs in some key ways:
+#
+# *) Rather than shell-style "glob" expressions, the values in this
+# list are regular expressions. You can still prepend a ! character
+# to each regular expression to invert its meaning, though.
+#
+# *) It compares not against modules only, but against paths consisting
+# of the repository (or root) name plus the path of the versioned file
+# or directory to be tested. For example, to see if the user is
+# authorized to see the path "/trunk/www/index.html" in the repository
+# whose root name is "svnrepos", this authorizer will test the path
+# "svnrepos/trunk/www/index.html" against the list of forbidden regular
+# expressions. Directory paths will be terminated by a forward slash.
+#
+# NOTE: Use of this configuration option will *disable* any configuration of
+# the 'forbidden' option -- they cannot be used simultaneously.
+#
+# Some examples:
+#
+# Disallow files named "PRIVATE", but allow all others:
+# forbiddenre = /PRIVATE$
+#
+# Allow only the "example1" and "example2" roots and the paths inside them,
+# disallowing all others (which can be done in multiple ways):
+# forbiddenre = !^example1(/|$), !^example2(/|$)/
+# forbiddenre = !^example[12](/|$)
+#
+# Only allow visibility of HTML files and the directories that hold them:
+# forbiddenre = !^.*(/|\.html)$
+#
+forbiddenre =
#
# This option provides a mechanism for custom key/value pairs to be
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/viewvc.org/contact.html
^
|
@@ -18,7 +18,7 @@
<a href="./download.html">Download</a> |
<a href="./upgrading.html">Upgrading</a> |
<a href="./contributing.html">Contributing</a> |
- <a href="./license-1.html">License</a> |
+ <a href="http://viewvc.tigris.org/nonav/source/browse/*checkout*/viewvc/trunk/LICENSE.html">License</a> |
<a href="./contact.html">Contact</a> |
<a href="./who.html">About</a>
</p>
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/viewvc.org/contributing.html
^
|
@@ -18,7 +18,7 @@
<a href="./download.html">Download</a> |
<a href="./upgrading.html">Upgrading</a> |
<a href="./contributing.html">Contributing</a> |
- <a href="./license-1.html">License</a> |
+ <a href="http://viewvc.tigris.org/nonav/source/browse/*checkout*/viewvc/trunk/LICENSE.html">License</a> |
<a href="./contact.html">Contact</a> |
<a href="./who.html">About</a>
</p>
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/viewvc.org/download.html
^
|
@@ -18,7 +18,7 @@
<a href="./download.html">Download</a> |
<a href="./upgrading.html">Upgrading</a> |
<a href="./contributing.html">Contributing</a> |
- <a href="./license-1.html">License</a> |
+ <a href="http://viewvc.tigris.org/nonav/source/browse/*checkout*/viewvc/trunk/LICENSE.html">License</a> |
<a href="./contact.html">Contact</a> |
<a href="./who.html">About</a>
</p>
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/viewvc.org/index.html
^
|
@@ -18,7 +18,7 @@
<a href="./download.html">Download</a> |
<a href="./upgrading.html">Upgrading</a> |
<a href="./contributing.html">Contributing</a> |
- <a href="./license-1.html">License</a> |
+ <a href="http://viewvc.tigris.org/nonav/source/browse/*checkout*/viewvc/trunk/LICENSE.html">License</a> |
<a href="./contact.html">Contact</a> |
<a href="./who.html">About</a>
</p>
|
[-]
[+]
|
Deleted |
viewvc-1.0.x.tar.bz2/viewvc.org/license-1.html
^
|
@@ -1,99 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<title>ViewVC: License v1</title>
-<link rel="stylesheet" type="text/css" href="./styles.css"/>
-</head>
-
-<body>
-
-<div id="title">
-<a href="http://www.viewvc.org/"><img
- src="./images/title.jpg" alt="ViewVC: Repository Browsing"/></a>
-</div>
-
-<div id="menu">
-<p><a href="./index.html">Home</a> |
- <a href="http://viewvc.tigris.org/">Project Page</a> |
- <a href="./download.html">Download</a> |
- <a href="./upgrading.html">Upgrading</a> |
- <a href="./contributing.html">Contributing</a> |
- <a href="./license-1.html">License</a> |
- <a href="./contact.html">Contact</a> |
- <a href="./who.html">About</a>
-</p>
-</div>
-
-<table id="pagetable">
-<tr>
-<td id="pagecolumn1">
-
-<h4>On this page:</h4>
-
-<ul id="bookmarks">
- <li><a href="#sec-license">License</a></li>
-</ul>
-
-<hr/>
-
-<address><a href="mailto:users@viewvc.tigris.org">ViewVC Users Group</a></address>
-
-</td>
-<td id="pagecolumn2">
-
-<div class="section">
-
-<h2 id="sec-license">License</h2>
-
-<p>The following text constitutes the license agreement for the <a
- href="./index.html">ViewVC</a> software (formerly known as
- ViewCVS). It is an agreement between <a
- href="./who.html#sec-viewcvs-group">The ViewCVS Group</a> and the
- users of ViewVC.</p>
-
-<p style="font-size: 80%;"><em>Note: the copyright years were updated
- on May 12, 2001 and September 5, 2002. No other changes were made
- to the license.</em></p>
-
-<hr/>
-
-<p><strong>Copyright © 1999-2002 The ViewCVS Group. All rights
- reserved.</strong></p>
-
-<p>By using ViewVC, you agree to the terms and conditions set forth
- below:</p>
-
-<p>Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:</p>
-
-<ol>
- <li>Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following
- disclaimer.</li>
- <li>Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.</li>
-</ol>
-
-<p>THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.</p>
-
-</div>
-
-</td>
-</tr>
-</table>
-</body>
-</html>
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/viewvc.org/nightly
^
|
+(directory)
|
[-]
[+]
|
Added |
viewvc-1.0.x.tar.bz2/viewvc.org/nightly/build-viewvc-snapshot
^
|
@@ -0,0 +1,95 @@
+#!/bin/sh
+
+DATE=`date +"%Y%m%d"`
+EXPORTDIR="viewvc-${DATE}"
+PUBLISH_DIR=/www/viewvc/nightly
+
+# export HEAD of trunk
+svn export --quiet http://viewvc.tigris.org/svn/viewvc/trunk ${EXPORTDIR} --username guest --password ""
+
+# use Python to determine the version number, reading it from
+# viewvc.__version__
+cd $EXPORTDIR/lib
+VERSION=`python -c "import viewvc; print viewvc.__version__"`
+TARGET=viewvc-${VERSION}-${DATE}
+
+# make a release
+cd ../tools
+./make-release ${TARGET}
+
+# remove results of last build
+rm -rf ${PUBLISH_DIR}/viewvc*.tar.gz ${PUBLISH_DIR}/viewvc*.zip ${PUBLISH_DIR}/index.html
+
+# publish new build
+mv ${TARGET}.* ${PUBLISH_DIR}
+cd ../..
+
+cat > ${PUBLISH_DIR}/index.html <<EOF
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+<title>ViewVC: Nightly Snapshots</title>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+<link rel="stylesheet" type="text/css" href="../styles.css"/>
+</head>
+
+<body>
+
+<div id="title">
+<a href="http://www.viewvc.org/"><img
+ src="../images/title.jpg" alt="ViewVC: Repository Browsing"/></a>
+</div>
+
+<div id="menu">
+<p><a href="../index.html">Home</a> |
+ <a href="http://viewvc.tigris.org/">Project Page</a> |
+ <a href="../download.html">Download</a> |
+ <a href="../contributing.html">Contributing</a> |
+ <a href="http://viewvc.tigris.org/nonav/source/browse/*checkout*/viewvc/trunk/LICENSE.html">License</a> |
+ <a href="../contact.html">Contact</a> |
+ <a href="../who.html">About</a>
+</p>
+</div>
+
+<table id="pagetable">
+<tr>
+<td id="pagecolumn1">
+
+<h4>On this page:</h4>
+
+<ul id="bookmarks">
+ <li><a href="#sec-snapshots">Snapshots</a></li>
+</ul>
+
+<p><a href="http://validator.w3.org/check?uri=referer"><img
+ src="http://www.w3.org/Icons/valid-xhtml10"
+ alt="Valid XHTML 1.0 Strict" height="31" width="88" /></a>
+</p>
+
+</td>
+<td id="pagecolumn2">
+
+<div class="section">
+
+<h2 id="sec-snapshots">Snapshots</h2>
+
+<ul>
+EOF
+
+echo "<li><a href=\"${TARGET}.tar.gz\">${TARGET}.tar.gz</a></li>" >> ${PUBLISH_DIR}/index.html
+echo "<li><a href=\"${TARGET}.zip\">${TARGET}.zip</a></li>" >> ${PUBLISH_DIR}/index.html
+
+cat >> ${PUBLISH_DIR}/index.html <<EOF
+</ul>
+</div>
+
+</td>
+</tr>
+</table>
+</body>
+</html>
+EOF
+
+# more cleanup
+rm -rf ${EXPORTDIR}
|
[-]
[+]
|
Deleted |
viewvc-1.0.x.tar.bz2/viewvc.org/template-authoring-guide.html
^
|
@@ -1,1957 +0,0 @@
-<html>
-<head>
-<title>ViewVC 1.0 Template Authoring Guide</title>
-<style>
-body {
- background-color: rgb(180,193,205);
- color: black;
- font-family: sans-serif;
-}
-table { margin-left: 1em; }
-td, th { padding: 0 0.5em; }
-th {
- vertical-align: bottom;
- background: rgb(60%,70%,90%);
-}
-td {
- vertical-align: top;
-}
-.h2, .h3 {
- padding: 0.5em 1em;
- border-color: black;
- border-style: solid;
- margin-bottom: 1em;
- background: white;
-}
-.h2 { border-width: 1px 2px 2px 1px; }
-.h3 { border-width: 1px 0 0 0; }
-.include { background: rgb(55%,80%,55%); font-style: italic; }
-.varlevel1 { background: rgb(65%,85%,65%); }
-.varlevel2 { background: rgb(70%,90%,70%); }
-.varlevel3 { background: rgb(75%,95%,75%); }
-.varname { font-family: monospace; }
-.varlevel1 .varname { padding-left: 0; }
-.varlevel2 .varname { padding-left: 2em; }
-.varlevel3 .varname { padding-left: 4em; }
-.toc-list { font-size: 90%; }
-</style>
-</head>
-<body>
-
-<h1>ViewVC 1.0 Template Authoring Guide</h1>
-
-<div class="h2">
-<h2 id="introduction">Introduction</h2>
-
-<p>This document represents an (unfinished) attempt at providing
- documentation for how to customize ViewVC 1.0-dev's HTML output via
- modification of its templates.</p>
-
-</div>
-
-<div class="h2">
-<h2 id="toc">Table of Contents</h2>
-<ul class="toc-list">
- <li><a href="#introduction">Introduction</a></li>
- <li><a href="#ezt">Using EZT</a></li>
- <li><a href="#variables">Variables Available to ViewVC Templates</a></li>
- <ul class="toc-list">
- <li><a href="#variables-common">Common Template Variable Set (COMMON)</a></li>
- <li><a href="#variables-navdata">File Navigation Variable Set (NAVDATA)</a></li>
- <li><a href="#variables-pathrev">Path Revision Form Variable Set (PATHREV)</a></li>
- <li><a href="#variables-paging">Paging Form Variable Set (PAGING)</a></li>
- <li><a href="#variables-annotate">Annotation View (annotate.ezt)</a></li>
- <li><a href="#variables-graph">Revision Graph View (graph.ezt)</a></li>
- <li><a href="#variables-diff">File Difference View (diff.ezt)</a></li>
- <li><a href="#variables-directory">Directory Listing View (directory.ezt)</a></li>
- <li><a href="#variables-error">Error View (error.ezt)</a></li>
- <li><a href="#variables-log">Revision Log View (log.ezt)</a></li>
- <li><a href="#variables-markup">File Contents View (markup.ezt)</a></li>
- <li><a href="#variables-query_results">Revision History Query Results View (query_results.ezt)</a></li>
- <li><a href="#variables-query_form">Revision History Query Form View (query_form.ezt)</a></li>
- <li><a href="#variables-revision">Revision/ChangeSet View (revision.ezt)</a></li>
- <li><a href="#variables-roots">Root Listing View (roots.ezt)</a></li>
- </ul>
-</ul>
-</div>
-
-<div class="h2">
-<h2 id="ezt">Using EZT</h2>
-
-<p>### TODO ###</p>
-
-</div>
-
-<div class="h2">
-<h2 id="variables">Variables Available to ViewVC Templates</h2>
-
-<div class="h3">
-<h3 id="variables-common">Common Template Variable Set (COMMON)</h3>
-<table>
-<thead>
-<tr>
- <th>Variable</th>
- <th>Type</th>
- <th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="varlevel1">
- <td class="varname">cfg</td>
- <td>Object</td>
- <td>Representation of the object used by ViewVC for runtime
- configuration parameters such as those parsed from
- <tt>viewvc.conf</tt>. Dot-qualified children of this object
- map to configuration sections and option keys. For example,
- <var>cfg.options.show_logs</var> contains the value of the
- <var>show_logs</var> variable in the <var>options</var> section
- of the configuration file.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">change_root_action</td>
- <td>String</td>
- <td>Form action URL for the root selection form.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">change_root_hidden_values</td>
- <td>String</td>
- <td>Hidden value HTML markup for the root selection form.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">docroot</td>
- <td>String</td>
- <td>URL of the static documents directory, generally used for
- referencing stylesheets and images stored in and under that
- directory (which is typically relative to the template
- location).</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">graph_href</td>
- <td>String</td>
- <td>URL of the ViewVC revision graph view for the current
- resource.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">kv</td>
- <td>Object</td>
- <td>Representation of the object used by ViewVC for user-defined
- key/value mappings. Dot-qualified children of this object map
- to named key/value files and the sections and keys within
- them. For example, <var>kv.l10n.labels.directory</var>
- maps to the value of the <var>directory</var> key under the
- <var>labels</var> section of the key/value file whose configured
- abstract name is <var>l10n</var>.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">log_href</td>
- <td>String</td>
- <td>URL of the ViewVC revision log view for the current
- resource.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">log_rev_href</td>
- <td>String</td>
- <td>Revision number of the file-revision currently being viewed, or
- None.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">nav_path</td>
- <td>List</td>
- <td>Ordered list of path components from the repository root to the
- current resource.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">nav_path.href</td>
- <td>String</td>
- <td>URL of the default ViewVC view for the path component.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">nav_path.name</td>
- <td>String</td>
- <td>Name of the path component.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">pathtype</td>
- <td>String</td>
- <td>Path kind of the current resource. Valid values: <tt>file</tt>
- (file), <tt>dir</tt> (directory); may be empty.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">rootname</td>
- <td>String</td>
- <td>Name of the current repository (root).</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">roots</td>
- <td>List</td>
- <td>Set of configured viewable repositories.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">roots.name</td>
- <td>String</td>
- <td>Name of a configured repository.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">roots.type</td>
- <td>String</td>
- <td>Version control type of a configured repository. Valid
- values: <tt>cvs</tt>, <tt>svn</tt>.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">roots.href</td>
- <td>String</td>
- <td>URL of root directory view for a configured repository.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">roottype</td>
- <td>String</td>
- <td>Version control type of the current repository (root).
- Valid values: <tt>cvs</tt> (CVS), <tt>svn</tt> (Subversion).</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">up_href</td>
- <td>String</td>
- <td>Link to the current object's parent directory view.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">view</td>
- <td>String</td>
- <td>Name of the current view. Valid values: <tt>annotate</tt>
- (annotation view), <tt>diff</tt> (file difference view),
- <tt>roots</tt> (root listing view), <tt>dir</tt> (directory
- listing view), <tt>graph</tt> (revision graph view), <tt>log</tt>
- (revision log view), <tt>markup</tt> (file contents view),
- <tt>query</tt> (revision history query results view),
- <tt>queryform</tt> (revision history query form view),
- <tt>rev</tt> (revision/changeset view).</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">vsn</td>
- <td>String</td>
- <td>ViewVC version identifier.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">where</td>
- <td>String</td>
- <td>Path (relative to the current repository root) of the current
- resource.</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="h3">
-<h3 id="variables-navdata">File Navigation Variable Set (NAVDATA)</h3>
-<table>
-<thead>
-<tr>
- <th>Variable</th>
- <th>Type</th>
- <th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="include">
- <td colspan="3">Includes all variables from the
- <a href="#variables-common">COMMON</a> variable set</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">annotate_href</td>
- <td>String</td>
- <td>URL of the ViewVC annotation view for the current resource.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">download_href</td>
- <td>String</td>
- <td>ViewVC file contents download URL for the current resource.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">download_text_href</td>
- <td>String</td>
- <td>ViewVC file contents as-text download URL for the current resource.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">orig_path</td>
- <td>String</td>
- <td>When viewing an old file revision through a copy of the file,
- this is the old file revision's original path.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">orig_href</td>
- <td>String</td>
- <td>URL of a ViewVC log view for <code>orig_path</code>.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">prefer_markup</td>
- <td>Boolean</td>
- <td>Indicates whether to make the default file link a link to the markup
- page instead of the checkout page.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">rev</td>
- <td>String</td>
- <td>Revision of the current resource.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">revision_href</td>
- <td>String</td>
- <td>URL of the Subversion revision view for the current revision.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">rss_href</td>
- <td>String</td>
- <td>URL of RSS feed for current location.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">view_href</td>
- <td>String</td>
- <td>URL of the ViewVC file contents view for the current resource.</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="h3">
-<h3 id="variables-pathrev">Path Revision Form Variable Set (PATHREV)</h3>
-<table>
-<thead>
-<tr>
- <th>Variable</th>
- <th>Type</th>
- <th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="varlevel1">
- <td class="varname">lastrev</td>
- <td>String</td>
- <td>If the current path is deleted in a future revision, last
- revision where the path is available. (Subversion only)</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">pathrev</td>
- <td>String</td>
- <td>Current sticky revision (Subversion) or sticky tag (CVS)</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">pathrev_action</td>
- <td>String</td>
- <td>Form action URL for the sticky revision/tag selection form.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">pathrev_hidden_values</td>
- <td>String</td>
- <td>Hidden value HTML markup for the revision/tag selection form.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">pathrev_clear_action</td>
- <td>String</td>
- <td>Form action URL for the path revision clear button.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">pathrev_clear_hidden_values</td>
- <td>String</td>
- <td>Hidden value HTML markup for the path revision clear button.</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="h3">
-<h3 id="variables-paging">Paging Form Variable Set (PAGING)</h3>
-<table>
-<thead>
-<tr>
- <th>Variable</th>
- <th>Type</th>
- <th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="varlevel1">
- <td class="varname">picklist</td>
- <td>List</td>
- <td>List of pages that make up the current directory or log view.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">picklist.start</td>
- <td>String</td>
- <td>Name of first item on the page</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">picklist.end</td>
- <td>String</td>
- <td>Name of last item on the page</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">picklist.page</td>
- <td>String</td>
- <td>Page number (indexed from 1)</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">picklist.count</td>
- <td>String</td>
- <td>Number of the first item on the page (indexed from 0)</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">picklist_len</td>
- <td>String</td>
- <td>Number of pages in <var>picklist</var></td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="h3">
-<h3 id="variables-annotate">Annotation View (annotate.ezt)</h3>
-<table>
-<thead>
-<tr>
- <th>Variable</th>
- <th>Type</th>
- <th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="include">
- <td colspan="3">Includes all variables from the
- <a href="#variables-navdata">NAVDATA</a> variable set</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">lines</td>
- <td>List</td>
- <td>Set of objects containing information about the most recent
- modification of a single line of file content in the current
- resource, naturally ordered by the line numbers they represent.
- Every line in the resource is represented in the set.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">lines.author</td>
- <td>String</td>
- <td>Username of the most recent modifier of the line.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">lines.date</td>
- <td>String</td>
- <td>Date (in UTC if not otherwise configured) of the modification of
- the line.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">lines.diff_url</td>
- <td>String</td>
- <td>URL of the ViewVC file difference view which displays the
- modification of the line.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">lines.line_number</td>
- <td>String</td>
- <td>Line number (1-based) of the line.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">lines.prev_rev</td>
- <td>String</td>
- <td>Youngest revision of the resource prior to the line's
- modification.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">lines.rev</td>
- <td>String</td>
- <td>Revision in which the modification of the line occured.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">lines.text</td>
- <td>String</td>
- <td>Textual contents of the line.</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="h3">
-<h3 id="variables-graph">Revision Graph View (graph.ezt)</h3>
-<table>
-<thead>
-<tr>
- <th>Variable</th>
- <th>Type</th>
- <th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="include">
- <td colspan="3">Includes all variables from the
- <a href="#variables-common">COMMON</a> variable set</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">imagemap</td>
- <td>String</td>
- <td>HTML markup containing the image map associated with the
- revision graph.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">imagesrc</td>
- <td>String</td>
- <td>URL of the ViewVC revision graph image for the current
- resource.</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="h3">
-<h3 id="variables-diff">File Difference View (diff.ezt)</h3>
-<table>
-<thead>
-<tr>
- <th>Variable</th>
- <th>Type</th>
- <th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="include">
- <td colspan="3">Includes all variables from the
- <a href="#variables-common">COMMON</a> variable set</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">annotate_href</td>
- <td>String</td>
- <td>URL for the annotate view of the right-side file revision.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">changes</td>
- <td>List</td>
- <td>Set of objects which contain information about a single line of
- file difference data. Valid only when <var>diff_format</var> is
- <tt>h</tt> or <tt>l</tt>.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">changes.have_left</td>
- <td>Boolean</td>
- <td>Specifies whether the left file has a line of content relevant
- to the difference data line. Valid only when
- <var>changes.type</var> is <tt>change</tt>.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">changes.have_right</td>
- <td>Boolean</td>
- <td>Specifies whether the right file has a line of content relevant
- to the difference data line. Valid only when
- <var>changes.type</var> is <tt>change</tt>.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">changes.left</td>
- <td>String</td>
- <td>Textual contents of the relevant line in the left file. Valid
- only when <var>changes.type</var> is <tt>change</tt>,
- <tt>context</tt>, or <tt>remove</tt>. When
- <var>changes.type</var> is <tt>change</tt>, valid only when
- <var>changes.have_left</var> is set (in order to delineate
- between missing lines and empty lines, which EZT does not
- support).</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">changes.right</td>
- <td>String</td>
- <td>Textual contents of the relevant line in the right file. Valid
- only when <var>changes.type</var> is <tt>add</tt>, <tt>change</tt>,
- or <tt>context</tt>. When
- <var>changes.type</var> is <tt>change</tt>, valid only when
- <var>changes.have_left</var> is set (in order to delineate
- between missing lines and empty lines, which EZT does not
- support).</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">changes.line_info_extra</td>
- <td>String</td>
- <td>Additional line information for the current difference hunk.
- Valid only when <var>changes.type</var> is <tt>header</tt>.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">changes.line_info_left</td>
- <td>String</td>
- <td>First line number represented by the current hunk in the left
- file. Valid only when <var>changes.type</var> is <tt>header</tt>.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">changes.line_info_right</td>
- <td>String</td>
- <td>First line number represented by the current hunk in the right
- file. Valid only when <var>changes.type</var> is <tt>header</tt>.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">changes.line_number</td>
- <td>String</td>
- <td>Line number (1-based) of the line.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">changes.type</td>
- <td>String</td>
- <td>The type of change. Value values: <tt>add</tt>,
- <tt>change</tt>, <tt>context</tt>, <tt>header</tt>,
- <tt>no-changes</tt>, <tt>remove</tt>.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">date_left</td>
- <td>String</td>
- <td>Date (in UTC if not otherwise configured) in which the left file
- revision was created.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">date_right</td>
- <td>String</td>
- <td>Date (in UTC if not otherwise configured) in which the right file
- revision was created.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">diff_format</td>
- <td>String</td>
- <td>Difference dislay format: Valid values are <tt>c</tt>
- (context), <tt>h</tt> (human-readable, or colored), <tt>l</tt> (long
- human-readable), <tt>s</tt> (side-by-side), <tt>u</tt>
- (unified).</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">diff_format_action</td>
- <td>String</td>
- <td>Form action URL for the diff format selection form.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">diff_format_hidden_values</td>
- <td>String</td>
- <td>Hidden value HTML markup for the diff format selection form.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">raw_diff</td>
- <td>String</td>
- <td>Raw difference text. Valid only when <var>diff_format</var> is
- <tt>c</tt>, <tt>s</tt>, or <tt>u</tt>.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">rev_left</td>
- <td>String</td>
- <td>Revision of the left file.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">rev_right</td>
- <td>String</td>
- <td>Revision of the right file.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">tag_left</td>
- <td>String</td>
- <td>Tag of the left file.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">tag_right</td>
- <td>String</td>
- <td>Tag of the right file.</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="h3">
-<h3 id="variables-directory">Directory Listing View (directory.ezt)</h3>
-<table>
-<thead>
-<tr>
- <th>Variable</th>
- <th>Type</th>
- <th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="include">
- <td colspan="3">Includes all variables from the
- <a href="#variables-common">COMMON</a>,
- <a href="#variables-pathrev">PATHREV</a>, and
- <a href="#variables-paging">PAGING</a> variable sets</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">attic_showing</td>
- <td>Boolean</td>
- <td>Indicates whether or not the directory list include "dead" files
- (files not available in, perhaps deleted from, the current
- tag). CVS only.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">branch_tags</td>
- <td>List</td>
- <td>Set of branch tag names in use by files in the current directory.
- CVS only.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">dir_pagestart</td>
- <td>String</td>
- <td>Item number (zero-based) of the first directory entry requested
- to be shown on the page. Corresponds to the
- <var>dir_pagestart</var> CGI parameter.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">dir_paging_action</td>
- <td>String</td>
- <td>Form action URL for the page selection form.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">dir_paging_hidden_values</td>
- <td>String</td>
- <td>Hidden value HTML markup for the page selection form.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">entries</td>
- <td>List</td>
- <td>Set of objects which represent the entries of this directory.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.ago</td>
- <td>String</td>
- <td>Textual description of the time since <var>entries.date</var>.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.annotate_href</td>
- <td></td>
- <td></td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.author</td>
- <td>String</td>
- <td>Username of the last modifier of the directory entry.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.date</td>
- <td>String</td>
- <td>Date (in UTC if not otherwise configured) of the last
- modification of the directory entry.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.download_href</td>
- <td></td>
- <td></td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.download_text_href</td>
- <td></td>
- <td></td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.errors</td>
- <td></td>
- <td></td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.graph_href</td>
- <td>String</td>
- <td>URL of the ViewVC revision graph view for the directory
- entry.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.log</td>
- <td></td>
- <td></td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.log_file</td>
- <td></td>
- <td></td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.log_href</td>
- <td>String</td>
- <td>URL of the ViewVC revision log view for the directory
- entry.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.log_rev</td>
- <td></td>
- <td></td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.mime_type</td>
- <td></td>
- <td></td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.name</td>
- <td>String</td>
- <td>Name of the directory entry.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.rev</td>
- <td>String</td>
- <td>Revision of the directory entry. For CVS repositories, this is
- a revision at the tip of the selected tag or branch; for
- Subversion, this is the youngest revision as of the revision of
- the directory being viewed.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.revision_href</td>
- <td>String</td>
- <td>URL of the Subversion revision view for the directory entries
- current revision. Valid only when <var>roottype</var> is
- <tt>svn</tt>.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.size</td>
- <td>String</td>
- <td>Size (in bytes) of the directory entry. Valid only when
- <var>roottype</var> is <tt>svn</tt> and
- <var>entries.pathtype</var> is <tt>file</tt>.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.state</td>
- <td></td>
- <td></td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.pathtype</td>
- <td>String</td>
- <td>Path kind of the directory entry. Valid values: <tt>file</tt>
- (file), <tt>dir</tt> (directory); may be empty.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.prefer_markup</td>
- <td>Boolean</td>
- <td>Indicates whether to make the default file link a link to the markup
- page instead of the checkout page. Valid only when
- <var>entries.pathtype</var> is <tt>file</tt>.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.view_href</td>
- <td></td>
- <td>This is a URL for the markup view if the entry is a file, and a
- URL for a directory listing if the entry is a directory.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">files_shown</td>
- <td>String</td>
- <td>Number of files displayed.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">hide_attic_href</td>
- <td>String</td>
- <td>URL for the current view, but with "dead" files hidden.
- CVS only.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">num_dead</td>
- <td>String</td>
- <td>Number of dead files in the current directory.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">plain_tags</td>
- <td>List</td>
- <td>List of tag names in use by files in the current directory.
- CVS only.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">queryform_href</td>
- <td>String</td>
- <td>URL for a query form returning results from this directory.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">search_re</td>
- <td>String</td>
- <td>Current search expression, if any.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">search_re_form</td>
- <td>Boolean</td>
- <td>Indicates whether or not to display the regular expression search
- form. Value depends on the whether searching is enabled in the
- configuration and whether or not the current directory is
- empty.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">search_re_action</td>
- <td>String</td>
- <td>Form action URL for the regular expression search form.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">search_re_hidden_values</td>
- <td>String</td>
- <td>Hidden value HTML markup for the regular expression search form.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">show_attic_href</td>
- <td>String</td>
- <td>URL for the current view, but with "dead" files shown.
- CVS only.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">sortby</td>
- <td>String</td>
- <td>Current sorting mode. Valid values: <tt>file</tt>, <tt>rev</tt>,
- <tt>date</tt>, <tt>author</tt>, and <tt>log</tt>.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">sortby_author_href</td>
- <td>String</td>
- <td>URL for the current view, but sorted by author.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">sortby_date_href</td>
- <td>String</td>
- <td>URL for the current view, but sorted by date.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">sortby_file_href</td>
- <td>String</td>
- <td>URL for the current view, but sorted by filename.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">sortby_log_href</td>
- <td>String</td>
- <td>URL for the current view, but sorted by log message.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">sortby_rev_href</td>
- <td>String</td>
- <td>URL for the current view, but sorted by revision number.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">sortdir</td>
- <td>String</td>
- <td>Current sorting mode. Valid values: <tt>up</tt> (ascending) and
- <tt>down</tt> (descending)</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">tarball_href</td>
- <td>String</td>
- <td>URL to download tarball of the current directory.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">tree_rev</td>
- <td>String</td>
- <td>Last revision number where the current directory (or any path
- underneath it) was modified. Subversion only.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">tree_rev_href</td>
- <td>String</td>
- <td>URL for revision view showing information about the
- <var>tree_rev</var> revision. Subversion only.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">youngest_rev</td>
- <td>String</td>
- <td>Last revision number in the repository. Subversion only</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">youngest_rev_href</td>
- <td>String</td>
- <td>URL for revision view showing information about the
- <var>youngest_rev</var> revision. Subversion only.</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="h3">
-<h3 id="variables-error">Error View (error.ezt)</h3>
-<table>
-<thead>
-<tr>
- <th>Variable</th>
- <th>Type</th>
- <th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="varlevel1">
- <td class="varname">msg</td>
- <td>String</td>
- <td>Message describing the current error.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">stacktrace</td>
- <td>String</td>
- <td>Python stack trace showing where the error occurred.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">status</td>
- <td>String</td>
- <td>HTTP status code like "404 Not Found" that was sent to the
- browser with this error message.</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="h3">
-<h3 id="variables-log">Revision Log View (log.ezt)</h3>
-<table>
-<thead>
-<tr>
- <th>Variable</th>
- <th>Type</th>
- <th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="include">
- <td colspan="3">Includes all variables from the
- <a href="#variables-common">COMMON</a>,
- <a href="#variables-pathrev">PATHREV</a>, and
- <a href="#variables-paging">PAGING</a> variable sets</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">annotate_href</td>
- <td>String</td>
- <td>URL for annotate view of the HEAD revision of the file.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">branch_tags</td>
- <td>List</td>
- <td>Names of branch tags in the file. CVS only.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">default_branch</td>
- <td>List</td>
- <td>Default branch names (CVS only)</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">diff_format</td>
- <td>String</td>
- <td>Currently selected diff format in the diff selection form. Valid
- values are <tt>c</tt> (context), <tt>h</tt> (human-readable,
- or colored), <tt>l</tt> (long human-readable), <tt>s</tt>
- (side-by-side), <tt>u</tt> (unified).</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">diff_select_action</td>
- <td>String</td>
- <td>Form action URL for the diff selection form.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">diff_select_hidden_values</td>
- <td>String</td>
- <td>Hidden value HTML markup for the diff selection form.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">download_href</td>
- <td>String</td>
- <td>URL to download the HEAD revision of the file.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">download_text_href</td>
- <td>String</td>
- <td>URL to download the HEAD revision of the file as
- <tt>text/plain</tt>.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">entries</td>
- <td>List</td>
- <td>List of revisions where the file or directory was modified.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.ago</td>
- <td>String</td>
- <td>Text description of the time elapsed since
- <var>entries.date</var>.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.annotate_href</td>
- <td>String</td>
- <td>URL for the annotate view of the file revision.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.author</td>
- <td>String</td>
- <td>Author of the revision.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.branch_names</td>
- <td>List</td>
- <td>If this last revision on a branch, a list of names for that
- branch.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.branch_point</td>
- <td>String</td>
- <td>If the revision is on a branch, this is the revision number
- the branch branched off from. CVS only.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.branch_points</td>
- <td>String</td>
- <td>List of branch tags which branch off of this revision.
- CVS only.</td>
-</tr>
-<tr class="varlevel3">
- <td class="varname">entries.branch_points.name</td>
- <td>String</td>
- <td>Name of the branch tag.</td>
-</tr>
-<tr class="varlevel3">
- <td class="varname">entries.branch_points.href</td>
- <td>String</td>
- <td>URL for the current view, but with this tag set as the sticky
- tag.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.branches</td>
- <td>String</td>
- <td>List of branch tags that include this file revision.
- CVS only.</td>
-</tr>
-<tr class="varlevel3">
- <td class="varname">entries.branches.name</td>
- <td>String</td>
- <td>Name of the branch tag.</td>
-</tr>
-<tr class="varlevel3">
- <td class="varname">entries.branches.href</td>
- <td>String</td>
- <td>URL for the current view, but with this tag set as the sticky
- tag.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.changed</td>
- <td>String</td>
- <td>Numbers of lines added and removed since the previous revision.
- CVS only.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.copy_href</td>
- <td>String</td>
- <td>URL for log view of <var>entries.copy_path</var>.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.copy_path</td>
- <td>String</td>
- <td>If the file revision was copied from somewhere, this is the path it
- was copied from. Subversion only.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.copy_rev</td>
- <td>String</td>
- <td>If the file revision was copied from somewhere, this is the revision
- number of the path it was copied from. Subversion only.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.date</td>
- <td>String</td>
- <td>Date (in UTC if not otherwise configured) of the revision.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.diff_to_branch_href</td>
- <td>String</td>
- <td>URL for a diff view of this file revision showing the changes
- since the branch was created at (<var>entries.branch_point</var>).
- CVS only.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.diff_to_main_href</td>
- <td>String</td>
- <td>If this revision is at the tip of a branch, URL for a diff view of
- this file revision showing the differences between it and the latest
- revision on the parent branch
- (<var>entries.next_main</var>). CVS only.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.diff_to_prev_href</td>
- <td>String</td>
- <td>URL for a diff view of this file revision showing the changes
- since the previous revision (<var>entries.prev</var>).</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.diff_to_sel_href</td>
- <td>String</td>
- <td>URL for a diff view of this file revision and the currently
- selected revision (<var>rev_selected</var>).</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.download_href</td>
- <td>String</td>
- <td>URL to download the file revision.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.download_text_href</td>
- <td>String</td>
- <td>URL to download the file revision as <tt>text/plain</tt>.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.log</td>
- <td>String</td>
- <td>Revision log message.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.next_main</td>
- <td>String</td>
- <td>If this revision is on the tip of the branch, this is the latest
- revision of the parent branch, a likely merge candidate.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.orig_href</td>
- <td>String</td>
- <td>URL for log view of <var>entries.orig_path</var></td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.orig_path</td>
- <td>String</td>
- <td>If this file revision is located at a different path than the
- newest file revision (because it precedes a copy or move), this
- is the path it was originally located at. Subversion only.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.prefer_markup</td>
- <td>Boolean</td>
- <td>Indicates whether to make the default file link a link to the markup
- page instead of the checkout page.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.prev</td>
- <td>String</td>
- <td>Previous revision number.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.rev</td>
- <td>String</td>
- <td>Revision number.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.revision_href</td>
- <td>String</td>
- <td>URL for revision view showing more information about the
- revision.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.sel_for_diff_href</td>
- <td>String</td>
- <td>URL for current view, but with this revision selected for
- diffs.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.size</td>
- <td>String</td>
- <td>Size of the file revision, in bytes. Subversion only.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.state</td>
- <td>String</td>
- <td>State of the file revision. Possible values: <tt>dead</tt>, and
- the empty string.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.tag_names</td>
- <td>List</td>
- <td>List of tag names which refer to the revision.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.tags</td>
- <td>List</td>
- <td>List of tags which refer to the revision</td>
-</tr>
-<tr class="varlevel3">
- <td class="varname">entries.tags.name</td>
- <td>String</td>
- <td>Name of the tag.</td>
-</tr>
-<tr class="varlevel3">
- <td class="varname">entries.tags.href</td>
- <td>String</td>
- <td>URL for the current page, but with this tag set as the sticky
- tag.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.vendor_branch</td>
- <td>Boolean</td>
- <td>Indicates if this revision is on a vendor branch.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">entries.view_href</td>
- <td>String</td>
- <td>URL for markup view for a file revision, or directory listing view
- for a directory revision.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">human_readable</td>
- <td>Boolean</td>
- <td>Indicates whether or not currently selected diff format
- (<var>diff_format</var>) is human readable (colored).</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">log_pagestart</td>
- <td>String</td>
- <td>Item number (zero based) of the first directory entry requested
- to be shown on the page. Corresponds to the
- <var>log_pagestart</var> query parameter.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">log_paging_action</td>
- <td>String</td>
- <td>Form action URL for the page selection form.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">log_paging_hidden_values</td>
- <td>String</td>
- <td>Hidden value HTML markup for the page selection form.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">logsort</td>
- <td>String</td>
- <td>Current sorting mode. Possible values: <tt>date</tt> and
- <tt>rev</tt>.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">logsort_action</td>
- <td>String</td>
- <td>Form action URL for log sort drop down box.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">logsort_hidden_values</td>
- <td>String</td>
- <td>Hidden value HTML markup for the log sort drop down box</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">mime_type</td>
- <td>String</td>
- <td>MIME type of current file.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">plain_tags</td>
- <td>List</td>
- <td>Names of non-branch in the file. CVS only.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">prefer_markup</td>
- <td>Boolean</td>
- <td>Indicates whether to make the default file link a link to the markup
- page instead of the checkout page.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">rev_selected</td>
- <td>String</td>
- <td>Revision number currently selected for diffs.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">tag_annotate_href</td>
- <td>String</td>
- <td>URL for annotate view of the file at currently selected sticky
- tag.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">tag_download_href</td>
- <td>String</td>
- <td>URL to download the file at currently selected sticky tag.
- CVS only.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">tag_download_text_href</td>
- <td>String</td>
- <td>URL to download the file as <tt>text/plain</tt> at the currently
- selected sticky tag. CVS only</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">tag_prefer_markup</td>
- <td>Boolean</td>
- <td>Indicates whether to make the default file link a link to the markup
- page instead of the checkout page.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">tag_view_href</td>
- <td>String</td>
- <td>URL for markup view of the file at the currently selected sticky
- tag. CVS only.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">tags</td>
- <td>String</td>
- <td>List of tags that in the current file. CVS only.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">tags.rev</td>
- <td>String</td>
- <td>Revision number for a non-branch tag, or the latest revision
- number on the branch for a branch tag.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">tags.name</td>
- <td>String</td>
- <td>Tag name</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">view_href</td>
- <td>String</td>
- <td>URL for markup view of the HEAD revision of the file.</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="h3">
-<h3 id="variables-markup">File Contents View (markup.ezt)</h3>
-<table>
-<thead>
-<tr>
- <th>Variable</th>
- <th>Type</th>
- <th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="include">
- <td colspan="3">Includes all variables from the
- <a href="#variables-navdata">NAVDATA</a> variable set</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">ago</td>
- <td>String</td>
- <td>Text description of the time elapsed since <var>date</var>.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">author</td>
- <td>String</td>
- <td>Author of the revision being viewed.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">branch_points</td>
- <td>String</td>
- <td>List of branch tag names which branch off of the revision being
- viewed (CVS only).</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">branches</td>
- <td>List</td>
- <td>If revision currently being viewed is on a branch, list of names
- for the branch.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">changed</td>
- <td>String</td>
- <td>Numbers of lines added and removed since the previous revision.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">date</td>
- <td>String</td>
- <td>Date (in UTC if not otherwise configured) of the revision currently
- being viewed.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">log</td>
- <td>String</td>
- <td>Log message of the revision currently being viewed.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">markup</td>
- <td>File</td>
- <td>Marked up contents of the current file revision.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">mime_type</td>
- <td>String</td>
- <td>MIME type of the current file.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">prev</td>
- <td>String</td>
- <td>Previous revision number.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">size</td>
- <td>String</td>
- <td>Size of the file revision, in bytes. Subversion only.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">state</td>
- <td>String</td>
- <td>State of the file revision. Possible values: <tt>dead</tt>, and
- the empty string.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">tags</td>
- <td>List</td>
- <td>Names of tags that have been applied to the current file
- revision.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">vendor_branch</td>
- <td>Boolean</td>
- <td>Indicates whether or not the current file revision is on a vendor
- branch.</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="h3">
-<h3 id="variables-query_results">Revision History Query Results View (query_results.ezt)</h3>
-<table>
-<thead>
-<tr>
- <th>Variable</th>
- <th>Type</th>
- <th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="include">
- <td colspan="3">Includes all variables from the
- <a href="#variables-common">COMMON</a> variable set</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">backout_href</td>
- <td>String</td>
- <td>URL for a page that shows a list of commands that can be applied
- to a working copy to revert all the changes returned by the
- query.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">commits</td>
- <td>List</td>
- <td>List of commits to files under the current directory that meet
- the query criteria.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">commits.author</td>
- <td>String</td>
- <td>Author of the commit.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">commits.files</td>
- <td>List</td>
- <td>List of files under the current directory affected by the
- commit.</td>
-</tr>
-<tr class="varlevel3">
- <td class="varname">commits.files.author</td>
- <td>String</td>
- <td>Author of the commit.</td>
-</tr>
-<tr class="varlevel3">
- <td class="varname">commits.files.date</td>
- <td>String</td>
- <td>Date (in UTC if not otherwise configured) the change to the file
- was committed.</td>
-</tr>
-<tr class="varlevel3">
- <td class="varname">commits.files.dir</td>
- <td>String</td>
- <td>Path of the directory containing the file.</td>
-</tr>
-<tr class="varlevel3">
- <td class="varname">commits.files.dir_href</td>
- <td>String</td>
- <td>URL for directory listing of <var>commits.files.dir</var>.</td>
-</tr>
-<tr class="varlevel3">
- <td class="varname">commits.files.file</td>
- <td>String</td>
- <td>File name.</td>
-</tr>
-<tr class="varlevel3">
- <td class="varname">commits.files.rev</td>
- <td>String</td>
- <td>Revision number of the file.</td>
-</tr>
-<tr class="varlevel3">
- <td class="varname">commits.files.branch</td>
- <td>File</td>
- <td>Branch the commit occurred on.</td>
-</tr>
-<tr class="varlevel3">
- <td class="varname">commits.files.diff_href</td>
- <td>String</td>
- <td>URL to diff page showing changes since previous file revision.</td>
-</tr>
-<tr class="varlevel3">
- <td class="varname">commits.files.log_href</td>
- <td>String</td>
- <td>URL for file's log page.</td>
-</tr>
-<tr class="varlevel3">
- <td class="varname">commits.files.minus</td>
- <td>String</td>
- <td>Number of lines removed from the file by the commit.</td>
-</tr>
-<tr class="varlevel3">
- <td class="varname">commits.files.plus</td>
- <td>String</td>
- <td>Number of lines added to the file by the commit.</td>
-</tr>
-<tr class="varlevel3">
- <td class="varname">commits.files.type</td>
- <td>String</td>
- <td>Type of change made to the file by the commit. Possible values:
- <tt>Change</tt>, <tt>Add</tt>, <tt>Remove</tt></td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">commits.log</td>
- <td>String</td>
- <td>Commit log message.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">commits.limited_files</td>
- <td>Boolean</td>
- <td>True if files list was cut short due to <tt>limit_changes</tt>.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">commits.num_files</td>
- <td>String</td>
- <td>Number of files in the <var>commits.files</var> list.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">commits.rev</td>
- <td>String</td>
- <td>Commit revision number. Subversion only.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">commits.rss_date</td>
- <td>String</td>
- <td>Date of the commit formatted for RSS.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">commits.rss_url</td>
- <td>String</td>
- <td>Absolute URL of the revision page for the commit. Subversion only.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">commits.short_log</td>
- <td>String</td>
- <td>Truncated commit log message.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">english_query</td>
- <td>String</td>
- <td>Text description of the current query criteria.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">limit_changes</td>
- <td>String</td>
- <td>Current <tt>limit_changes</tt> value, maximum number of changed files
- to show per commit.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">limit_changes_href</td>
- <td>String</td>
- <td>URL for the current view but with <tt>limit_changes</tt> disabled.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">minus_count</td>
- <td>String</td>
- <td>Total number of lines removed in the commit (over all files).</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">plus_count</td>
- <td>String</td>
- <td>Total number of lines added in the commit (over all files).</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">queryform_href</td>
- <td>String</td>
- <td>URL for form to edit query criteria.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">querysort</td>
- <td>String</td>
- <td>Indicates how query results are being sorted. Possible values:
- <tt>date</tt>, <tt>author</tt>, and <tt>file</tt>.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">show_branch</td>
- <td>Boolean</td>
- <td>Indicates whether or not to list branch names in the results. True
- when query results can include more than a single branch.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">sql</td>
- <td>String</td>
- <td>SQL string used to query database. Included for debugging
- purposes.</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="h3">
-<h3 id="variables-query_form">Revision History Query Form View (query_form.ezt)</h3>
-<table>
-<thead>
-<tr>
- <th>Variable</th>
- <th>Type</th>
- <th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="include">
- <td colspan="3">Includes all variables from the
- <a href="#variables-common">COMMON</a> variable set</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">branch</td>
- <td>String</td>
- <td>Query string for filtering results by branch.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">branch_match</td>
- <td>String</td>
- <td>Type of match to perform with <var>branch</var> query string.
- Valid values: <tt>exact</tt>, <tt>like</tt>, <tt>glob</tt>,
- <tt>regex</tt>, <tt>notregex</tt>.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">date</td>
- <td>String</td>
- <td>Option for filtering results by date. Possible values:
- <tt>hours</tt>, <tt>day</tt>, <tt>week</tt>, <tt>month</tt>,
- <tt>all</tt>, <tt>explicit</tt>.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">dir</td>
- <td>String</td>
- <td>Query string for filtering results by subdirectory.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">dir_href</td>
- <td>String</td>
- <td>URL for directory list of current directory.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">file</td>
- <td>String</td>
- <td>Query string for filtering results by file name.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">file_match</td>
- <td>String</td>
- <td>Type of match to perform with <var>file</var> query string.
- Valid values: <tt>exact</tt>, <tt>like</tt>, <tt>glob</tt>,
- <tt>regex</tt>, <tt>notregex</tt>.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">hours</td>
- <td>String</td>
- <td>If <var>date</var> is <tt>hours</tt>, number of hours back to
- include results from.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">limit_changes</td>
- <td>String</td>
- <td>Current <tt>limit_changes</tt> value, maximum number of changed files
- to show per commit.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">maxdate</td>
- <td>String</td>
- <td>If <var>date</var> is <tt>explicit</tt>, latest date to
- include results from.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">mindate</td>
- <td>String</td>
- <td>If <var>date</var> is <tt>explicit</tt>, earliest date to
- include results from.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">query_action</td>
- <td>String</td>
- <td>Form action URL for query form.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">query_hidden_values</td>
- <td>String</td>
- <td>Hidden value HTML markup for query form.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">querysort</td>
- <td>String</td>
- <td>Option for sorting query results. Possible values: <tt>date</tt>,
- <tt>author</tt>, and <tt>file</tt>.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">who</td>
- <td>String</td>
- <td>Query string for filtering results by author.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">who_match</td>
- <td>String</td>
- <td>Type of match to perform with <var>who</var> query string. Possible
- values: <tt>exact</tt>, <tt>like</tt>, <tt>glob</tt>,
- <tt>regex</tt>, <tt>notregex</tt>.</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="h3">
-<h3 id="variables-revision">Revision/ChangeSet View (revision.ezt)</h3>
-<table>
-<thead>
-<tr>
- <th>Variable</th>
- <th>Type</th>
- <th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="include">
- <td colspan="3">Includes all variables from the
- <a href="#variables-common">COMMON</a> variable set</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">ago</td>
- <td>String</td>
- <td>Text description of the time elapsed since <var>date</date>.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">author</td>
- <td>String</td>
- <td>Author of the revision.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">changes</td>
- <td>List</td>
- <td>List of paths changed in this revision.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">changes.action</td>
- <td>String</td>
- <td>Indicates what happened to the path in this revision. Valid
- values are: <tt>added</tt>, <tt>modified</tt>, <tt>replaced</tt>,
- and <tt>deleted</tt>.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">changes.copy_path</td>
- <td>String</td>
- <td>Original path if path was copied from somewhere in this
- revision.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">changes.copy_rev</td>
- <td>String</td>
- <td>Revision number of original path if path was copied from somewhere
- in this revision</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">changes.diff_href</td>
- <td>String</td>
- <td>URL for diff of changed path against previous revision.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">changes.is_copy</td>
- <td>Boolean</td>
- <td>Indicates whether path was copied from another path in this
- revision.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">changes.log_href</td>
- <td>String</td>
- <td>URL for log view of changed path.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">changes.path</td>
- <td>String</td>
- <td>Changed path.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">changes.pathtype</td>
- <td>String</td>
- <td>Type of changed path. Valid values: <tt>file</tt> or
- <tt>dir</tt></td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">changes.prop_mods</td>
- <td>Boolean</td>
- <td>Indicates whether the path's properties changed in this revision</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">changes.text_mods</td>
- <td>Boolean</td>
- <td>Indicates whether the path's file contents changed in this
- revision.</td>
-</tr>
-<tr class="varlevel2">
- <td class="varname">changes.view_href</td>
- <td>String</td>
- <td>URL for markup view of changed path.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">date</td>
- <td>String</td>
- <td>Revision date (in UTC if not otherwise configured).</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">first_changes</td>
- <td>String</td>
- <td>Configured value for <tt>limit_changes</tt>.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">first_changes_href</td>
- <td>String</td>
- <td>URL for the current view but with <tt>limit_changes</tt> set to the
- configured value.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">jump_rev_action</td>
- <td>String</td>
- <td>Form action URL for revision jump form.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">jump_rev_hidden_values</td>
- <td>String</td>
- <td>Hidden value HTML markup for revision jump form.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">limit_changes</td>
- <td>String</td>
- <td>Current <tt>limit_changes</tt> value, maximum number of changed files
- to show per commit.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">log</td>
- <td>String</td>
- <td>Revision log message.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">more_changes</td>
- <td>String</td>
- <td>Number of changes not being shown due to <tt>limit_changes</tt>.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">more_changes_href</td>
- <td>String</td>
- <td>URL for the current view but with <tt>limit_changes</tt> disabled.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">next_href</td>
- <td>String</td>
- <td>URL for revision page of the next revision.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">prev_href</td>
- <td>String</td>
- <td>URL for revision page of the previous revision.</td>
-</tr>
-<tr class="varlevel1">
- <td class="varname">rev</td>
- <td>String</td>
- <td>Revision number.</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="h3">
-<h3 id="variables-roots">Root Listing View (roots.ezt)</h3>
-<table>
-<thead>
-<tr>
- <th>Variable</th>
- <th>Type</th>
- <th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="include">
- <td colspan="3">Includes all variables from the
- <a href="#variables-common">COMMON</a> variable set</td>
-</tr>
-</tbody>
-</table>
-
-</div>
-</body>
-</html>
|
[-]
[+]
|
Changed |
viewvc-1.0.x.tar.bz2/viewvc.org/who.html
^
|
@@ -18,7 +18,7 @@
<a href="./download.html">Download</a> |
<a href="./upgrading.html">Upgrading</a> |
<a href="./contributing.html">Contributing</a> |
- <a href="./license-1.html">License</a> |
+ <a href="http://viewvc.tigris.org/nonav/source/browse/*checkout*/viewvc/trunk/LICENSE.html">License</a> |
<a href="./contact.html">Contact</a> |
<a href="./who.html">About</a>
</p>
|
[-]
[+]
|
Deleted |
viewvc-1.0.x.tar.bz2/www
^
|
-(directory)
|
[-]
[+]
|
Deleted |
viewvc-1.0.x.tar.bz2/www/index.html
^
|
@@ -1,70 +0,0 @@
-<html>
-<head>
-<title>ViewVC - Version Control Repository Browser</title>
-<!-- Custom stylations to hide the obnoxious project info -->
-<style type="text/css">
-#projecthome .axial { display: none; }
-#apphead h1 { display: none; }
-#longdescription { border: none; }
-#longdescription h2 { display: none; }
-#customcontent h2 { display: block; }
-</style>
-<!-- End custom stylations -->
-</head>
-
-<body>
-
-<div class="app" id="customcontent">
-
-<h1>ViewVC — Web-based Version Control Repository Browsing</h1>
-
-<div class="h2">
-<h2>Latest Release</h2>
-
-<p>The most recent release of ViewVC is: <strong>1.0.0-rc1</strong></p>
-
-</div>
-
-<div class="h2">
-<h2>What Is ViewVC?</h2>
-
-<p>ViewVC is a browser interface for CVS and Subversion version
- control repositories. It generates templatized HTML to present
- navigable directory, revision, and change log listings. It can
- display specific versions of files as well as diffs between those
- versions. Basically, ViewVC provides the bulk of the report-like
- functionality you expect out of your version control tool, but much
- more prettily than the average textual command-line program
- output.</p>
-
-<p>Here are some of the additional features of ViewVC:</p>
-
-<ul>
- <li>Support for filesystem-accessible CVS and Subversion repositories</li>
- <li>Individually configurable virtual host support</li>
- <li>Line-based annotation/blame display</li>
- <li>Revision graph capabilities (<em>CVS only</em>)</li>
- <li>Syntax highlighting support</li>
- <li>Commit metadata query facilities</li>
- <li>Template-driven output generation</li>
- <li>Colorized, side-by-side differences</li>
- <li>Tarball generation (by tag/branch for CVS, by revision for
- Subversion)</li>
- <li>Localization support based on the Accept-Language request header</li>
- <li>Ability to run either as CGI script or as a standalone
- server</li>
- <li>Regexp-based file searching</li>
- <li>INI-like configuration file (as opposed to requiring actual code
- tweaks)</li>
-</ul>
-
-<p>For a complete list of changes present in each release, see
- ViewVC's <a
- href="http://viewvc.tigris.org/source/browse/viewvc/trunk/CHANGES?rev=HEAD"
- >CHANGES</a> file.</p>
-
-</div>
-
-</div>
-</body>
-</html>
|
[-]
[+]
|
Deleted |
viewvc-1.0.x.tar.bz2/www/project_tools.html
^
|
@@ -1,30 +0,0 @@
-<!-- Overrides the left-nav tool bar on viewvc.tigris.org, a feature
- specific to tigris.org's CEE branding. See www/overrides/ in the
- look.tigris.org project for details. -->
-
-<!-- dd --><ul>
-
-<li><a href="http://www.viewvc.org/"
- >Project website</a></li>
-
-<!-- #################################################### --></ul></dd><dd><ul>
-
-<li><a href="http://viewvc.tigris.org/servlets/ProjectMemberList"
- >Membership</a></li>
-
-<!-- #################################################### --></ul></dd><dd><ul>
-
-<li><a href="http://viewvc.tigris.org/servlets/ProjectNewsList"
- >Announcements</a></li>
-<!-- li><a href="http://viewvc.tigris.org/servlets/ProjectForumView"
- >Discussion forums</a></li -->
-<li><a href="http://viewvc.tigris.org/servlets/ProjectMailingListList"
- >Mailing lists</a></li>
-<li><a href="http://viewvc.tigris.org/servlets/ProjectDocumentList"
- >Documents & files</a></li>
-<li><a href="http://viewvc.tigris.org/source/browse/viewvc/"
- >Subversion</a></li>
-<li><a href="http://viewvc.tigris.org/issues/buglist.cgi?component=viewvc&issue_status=UNCONFIRMED&issue_status=NEW&issue_status=STARTED&issue_status=REOPENED"
- >Issue tracker</a></li>
-
-</ul><!-- /dd -->
|