~ubuntu-branches/ubuntu/oneiric/viewvc/oneiric-security

« back to all changes in this revision

Viewing changes to docs/upgrading-howto.html

  • Committer: Bazaar Package Importer
  • Author(s): David Martínez Moreno, John Zaitseff, David Martínez Moreno
  • Date: 2010-07-02 02:24:34 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20100702022434-9a5shavr4tj4cfqy
Tags: 1.1.5-1
[ John Zaitseff ]
* New upstream release (closes: #532611, #575777, #575787, #576307).  This
  solves CVE-2010-0004, CVE-2010-0005, CVE-2010-0736 and CVE-2010-0132.
* Extensive rewrite of files in the debian directory.  Updated to Debian
  policy 3.8.4, updated all control files to Debhelper 7, rewrote
  debian/rules for clarity (and to use Debhelper 7).
* Removed all references to Debconf, as previous versions of this
  package violated Debian policy (section 10.7.3): /etc/viewvc/viewvc.conf
  is a conffile, and maintainer scripts must NOT modify it at any time.
* Reorganised the installation files in /usr/lib/viewvc.  The CGI
  programs are now links to files in /usr/lib/viewvc/cgi-bin.
* Packaged the Apache mod-python modules for optional use (in
  /usr/lib/viewvc/mod-python).  See README.Debian for more information.
* Moved the static help documentation ("docroot") from /usr/share/viewvc
  to /usr/share/viewvc/docroot, as per Webapps Policy, section 3.1.
* Updated the debian/patches subdirectory to remove patches no longer
  relevant to ViewVC 1.1.x and to update those that still apply.
* debian/control:
  - Removed the dependency on gawk, as that was only required for Debconf
    configuration.
  - Demoted the dependency on mime-support to "Suggests": ViewVC can use
    it, if appropriately configured, but does not require it.
  - Added a suggestion for the python-tk package: viewvc-standalone(1)
    uses this when passed the "--gui" flag.
  - Modified all dependencies as appropriate.  Depend on httpd-cgi, not
    httpd, since the viewvc package needs a CGI server.  In addition,
    python-egenix-mxdatetime is no longer needed (since ViewVC 1.0.x).
  - Updated the XS-Python-Version field to "all" (Closes: #570573).
  - ViewVC 1.1.x supports only python-pygments as a syntax highlighter,
    not enscript.  Adjusted dependencies as appropriate.

[ David Martínez Moreno ]
* Changed history and added the CVE entry to the changelog for 1.0.9-1.
* debian/control:
  - Moved Section to vcs in order to match the overrides.
  - Make python-dev dependency just python.
  - Removed dummy package viewcvs, it was already dummy in lenny.
* debian/viewcvs.*: Removed.
* debian/NEWS: Fixed version in John's entry and removed old news from 0.9.4.
* debian/README.source: Added.
* The new release also addresses in a different way how to show long
  annotation messages (closes: #434301).
* Added debian/patches/92-no_strings_in_raise for fixing a couple of
  occurrences of string exceptions in the code, no longer valid in Python
  2.6, the default now (closes: #585366).

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
<html>
3
3
<head>
4
4
<title>ViewVC: Upgrading</title>
5
 
<link rel="stylesheet" type="text/css" href="./styles.css"/>
6
5
<style>
 
6
body {
 
7
  background-color: rgb(180,193,205);
 
8
  color: black;
 
9
  font-family: sans-serif;
 
10
}
 
11
table { margin-left: 1em; }
 
12
td, th { padding: 0 0.5em; }
 
13
th { 
 
14
  vertical-align: bottom; 
 
15
  background: rgb(60%,70%,90%);
 
16
}
 
17
td { 
 
18
  vertical-align: top; 
 
19
}
 
20
.h2, .h3 {
 
21
  padding: 0.5em 1em;
 
22
  border-color: black;
 
23
  border-style: solid;
 
24
  margin-bottom: 1em;
 
25
  background: white;
 
26
}
 
27
.h2 { border-width: 1px 2px 2px 1px; }
 
28
.h3 { border-width: 1px 0 0 0; }
 
29
.toc-list { font-size: 90%; }
7
30
.varname { font-family: monospace; }
8
 
.unchanged { background: rgb(50%,75%,50%); }
9
 
.renamed { background: rgb(75%,100%,75%); }
 
31
.added { background: rgb(50%,75%,25%); }
 
32
.unchanged { background: rgb(75%,75%,75%); }
 
33
.renamed { background: rgb(75%,50%,75%); }
10
34
.changed { background: rgb(100%,100%,25%); }
11
35
.replaced { background: rgb(100%,75%,0%); }
12
36
.removed { background: rgb(100%,25%,25%); }
15
39
 
16
40
<body>
17
41
 
18
 
<div id="title">
19
 
<a href="http://www.viewvc.org/"><img 
20
 
   src="./images/title.jpg" alt="ViewVC: Repository Browsing"/></a>
21
 
</div>
22
 
 
23
 
<div id="menu">
24
 
<p><a href="./index.html">Home</a> |
25
 
   <a href="http://viewvc.tigris.org/">Project Page</a> |
26
 
   <a href="./download.html">Download</a> |
27
 
   <a href="./upgrading.html">Upgrading</a> |
28
 
   <a href="./contributing.html">Contributing</a> |
29
 
   <a href="./license-1.html">License</a> |
30
 
   <a href="./contact.html">Contact</a> |
31
 
   <a href="./who.html">About</a>
32
 
</p>
33
 
</div>
34
 
 
35
 
<table id="pagetable">
36
 
<tr>
37
 
<td id="pagecolumn1">
38
 
 
39
 
<h4>On this page:</h4>
40
 
 
41
 
<ul id="bookmarks">
42
 
  <li><a href="#sec-upgrading">Upgrading Basics</a></li>
43
 
  <li><a href="#sec-from-0-9">Upgrading from 0.9</a></li>
44
 
  <li><a href="#sec-from-0-8">Upgrading from 0.8</a></li>
45
 
</ul>
46
 
 
47
 
<hr/>
48
 
 
49
 
<address><a href="mailto:&#117&#115&#101&#114&#115&#64&#118&#105&#101&#119&#118&#99&#46&#116&#105&#103&#114&#105&#115&#46&#111&#114&#103">ViewVC Users Group</a></address>
50
 
 
51
 
</td>
52
 
<td id="pagecolumn2">
53
 
 
54
 
<div class="section">
55
 
 
56
 
<h2 id="sec-upgrading">Upgrading Basics</h2>
 
42
<h1>Upgrading ViewVC</h1>
 
43
 
 
44
<div class="h2">
 
45
<h2 id="introduction">Introduction</h2>
57
46
 
58
47
<p>This document describes some of the things that you will need to 
59
48
   consider, change, or handle when upgrading an existing ViewVC
67
56
   directory and to carefully compare the configuration files.  A
68
57
   possible approach is to name the directories
69
58
   <code>/usr/local/viewvc-1.0</code>,
70
 
   <code>/usr/local/viewcvs-1.1</code> and so on and than create a
 
59
   <code>/usr/local/viewvc-1.1</code> and so on and than create a
71
60
   symbolic link <code>viewvc</code> pointing to the production
72
61
   version.  This way you can easily test several versions and switch
73
62
   back if your users start to complain.</p>
74
63
 
75
64
</div>
76
 
<div class="section">
77
 
 
 
65
 
 
66
<div class="h2">
 
67
<h2 id="toc">Table of Contents</h2>
 
68
<ul class="toc-list">
 
69
  <li><a href="#introduction">Introduction</a></li>
 
70
  <li><a href="#sec-from-1-0">Upgrading From ViewVC 1.0</a></li>
 
71
  <li><a href="#sec-from-0-9">Upgrading From ViewCVS 0.9</a></li>
 
72
  <li><a href="#sec-from-0-8">Upgrading From ViewCVS 0.8</a></li>
 
73
</ul>
 
74
</div>
 
75
 
 
76
<div class="h2">
 
77
<h2 id="sec-from-1-0">Upgrading From ViewVC 1.0</h2>
 
78
 
 
79
<p>This section discusses how to upgrade ViewVC 1.0.x to ViewVC 1.1.x.</p>
 
80
 
 
81
<div class="h3">
 
82
<h3>root_as_url_component Now Enabled by Default</h3>
 
83
    
 
84
<p>In ViewVC 1.1, the <code>root_as_url_component</code> configuration
 
85
   option is now enabled by default.  This option causes ViewVC URLs
 
86
   to be of the form
 
87
   <code>&hellip;/root-name/path-in-root[?&hellip;]</code> instead of
 
88
   <code>&hellip;/path-in-root/?root=root-name[&amp;&hellip;]</code>,
 
89
   and makes for a much more intuitive user experience,
 
90
   navigation-wise, when ViewVC is serving up multiple version control
 
91
   repositories.  When in this mode, ViewVC will automatically perform
 
92
   the obvious redirection for URLs which have a <code>root=</code>
 
93
   CGI parameter.</p>
 
94
 
 
95
<p>Unfortunately, there's a catch.  Older URLs for the default root
 
96
   (specified by the <code>default_root</code> configuration option)
 
97
   were optimized to <em>not</em> include the <code>root=</code> CGI
 
98
   parameter.  This means they look unfortunately similar to the newer
 
99
   root-in-the-path URL format, and ViewVC will not attempt to
 
100
   redirect them.  But ViewVC won't be able to handle them, either.
 
101
   So, old-style default-root URLs, when aimed at a ViewVC for which
 
102
   the <code>root_as_url_component</code> option has been subsequently
 
103
   enabled, will result in an error.  If you need to preserve the
 
104
   functionality of those old URLs, you'll need to either disable
 
105
   <code>root_as_url_component</code>, or use some other mechanism
 
106
   (like server URL rewriting) to morph them into compliance with the
 
107
   new URL format.</p>
 
108
 
 
109
</div>
 
110
 
 
111
<div class="h3">
 
112
<h3>Path-Based Authorization / Forbidden Modules</h3>
 
113
    
 
114
<p>ViewVC 1.1 introduces a new pluggable authorization (authz)
 
115
   subsystem which gives administrators greater control over the
 
116
   accessibility of the information ViewVC displays in its output.
 
117
   ViewVC provides a number of working authz modules and a framework for
 
118
   configuring them.  But of specific interest to folks upgrading from
 
119
   ViewVC 1.0 is that one of these new modules has replaced the
 
120
   handling of forbidden modules.  As such, the <code>forbidden</code>
 
121
   configuration option now lives under the configuration section
 
122
   specific to that authz module.</p>
 
123
 
 
124
<p>Migrating your existing configuration of forbidden modules should
 
125
   be fairly straightforward:</p>
 
126
 
 
127
<ol>
 
128
 
 
129
   <li>In the new "authz-forbidden" section of viewvc.conf, set the
 
130
       <code>forbidden</code> option to the same value as the
 
131
       <code>forbidden</code> option in your ViewVC 1.0.x
 
132
       configuration's "general" section.</li>
 
133
 
 
134
   <li>In the new "authz-forbiddenre" section of viewvc.conf, set the
 
135
       <code>forbiddenre</code> option to the same value as the
 
136
       <code>forbiddenre</code> option in your ViewVC 1.0.x
 
137
       configuration's "general" section.</li>
 
138
 
 
139
   <li>Finally, ensure that that the new <code>authorizer</code>
 
140
       option is set to either "forbidden" or "forbiddenre", depending
 
141
       on which of those you were using in ViewVC 1.0.x.</li>
 
142
 
 
143
</ol>
 
144
 
 
145
<p>Of course, you might wish to take advantage of another of the
 
146
   provided authz modules.  Or, you might wish to write a brand new
 
147
   one for your purposes.  The flexibility is yours.</p>
 
148
 
 
149
<p><strong>Known Issues:</strong></p>
 
150
 
 
151
<ul>
 
152
 
 
153
   <li>ViewVC does not provide an <em>authentication</em> framework.
 
154
       It does, however, inherit authenticated usernames as determined
 
155
       by the HTTP server (Apache, e.g.) via the CGI environment.  So,
 
156
       any authorization module that assigns privileges based on
 
157
       usernames will work only if ViewVC is deployed in a way that
 
158
       requires successful authentication (as opposed to allowing
 
159
       anonymous access).</li>
 
160
 
 
161
   <li>Currently, the root listing view only honors the global or
 
162
       vhost-specific configurations, <em>not</em> any root-specific
 
163
       configuration.  In the event that ViewVC is using root-specific
 
164
       configuration for its authorization stuffs, this may cause
 
165
       either the unintended leak of root names to users or the
 
166
       inability to see roots at all.  However, for root-specific
 
167
       ViewVC views, all configuration &mdash; include root-specific
 
168
       configuration &mdash; is honored.  If you are concerned about
 
169
       leaking root names in the root listing view, you might consider
 
170
       disabling that view altogether by removing <code>roots</code>
 
171
       from the list of views specified in the 
 
172
       <code>allowed_views</code> configuration option.</li>
 
173
 
 
174
   <li>The experimental module which allows ViewVC to serve up views
 
175
       of remote Subversion repositories is not yet fully integrated
 
176
       with the authorization subsystem, and almost certainly will
 
177
       leak privileged data.  Sorry.  That's (one reason) why it's
 
178
       experimental.</li>
 
179
 
 
180
</ul>
 
181
 
 
182
</div>
 
183
 
 
184
<div class="h3">
 
185
<h3>Syntax Highlighting</h3>
 
186
 
 
187
<p>ViewVC 1.0.x supports syntax highlighting provided by multiple
 
188
   third-party highlighting engines, including GNU enscript, GNU
 
189
   source-highlight, highlight, php, and py2html.  Unfortunately, each
 
190
   of those integrations worked differently than the others.  Some
 
191
   supported line numbers, some didn't; some were under active
 
192
   development and recognized newer languages; some weren't; each had
 
193
   its own set of CSS stylations that needed to be customized;
 
194
   etc.</p>
 
195
 
 
196
<p>In ViewVC 1.1, we've dropped support for all of those integations
 
197
   in favor of a single integration with <a
 
198
   href="http://www.pygments.org/" >Pygments</a>, a
 
199
   Python-module-based syntax highlighting engine.  As such, the
 
200
   configuration options for the various other engines (both those
 
201
   that enabled the integration and those that specified the locations
 
202
   of the third-party tools) have been removed from ViewVC, and have
 
203
   been replaced by a single new configuration option:
 
204
   <code>enable_syntax_coloration</code>.</p>
 
205
 
 
206
<p>The list of removed options is as follows:</p>
 
207
 
 
208
<ul>
 
209
  <li>options/enscript_path</li>
 
210
  <li>options/highlight_convert_tabs</li>
 
211
  <li>options/highlight_path</li>
 
212
  <li>options/markup_line_numbers</li>
 
213
  <li>options/php_exe</li>
 
214
  <li>options/py2html_path</li>
 
215
  <li>options/use_enscript</li>
 
216
  <li>options/use_highlight</li>
 
217
  <li>options/use_pagesize</li>
 
218
  <li>options/use_php</li>
 
219
  <li>options/use_py2html</li>
 
220
</ul>
 
221
 
 
222
</div>
 
223
 
 
224
<div class="h3">
 
225
<h3>Checkin Database</h3>
 
226
 
 
227
<p>ViewVC 1.1 introduces to the <code>cvsdbadmin</code>
 
228
   and <code>svndbadmin</code> tools a new "purge" operation, which
 
229
   allows you to remove all the information related to a given root
 
230
   from your checkins database (without disturbing the information
 
231
   associated with other roots).  Likewise, the "rebuild" command in
 
232
   those tools now implies a "purge" followed by an update.</p>
 
233
 
 
234
<p>As a related change, the <code>svndbadmin</code> program's
 
235
   "rebuild" subcommand has had its purpose become more defined.  It
 
236
   no longer accepts a revision argument, and therefore can now only
 
237
   be used to completely rebuild the entirety of the checkin database
 
238
   information for a Subversion repository (instead of being able to
 
239
   only update the information related to single Subversion revision).
 
240
   For per-revision updating, use <code>svndbadmin update</code> and
 
241
   provide a revision (or revision range).  And to get the previous
 
242
   rebuild-a-revision effect, pass the new <code>--force</code> option
 
243
   to <code>svndbadmin update</code>.</p>
 
244
 
 
245
<p>In other words, where you once did this:</p>
 
246
 
 
247
<blockquote><pre>$ svndbadmin rebuild /path/to/repository 1234
 
248
</pre>
 
249
</blockquote>
 
250
 
 
251
<p>you now need to do this:</p>
 
252
 
 
253
<blockquote><pre>$ svndbadmin update /path/to/repository 1234 --force
 
254
</pre>
 
255
</blockquote>
 
256
 
 
257
<p>To enhance the performance of the new "purge" operation, ViewVC 1.1
 
258
   introduces some slight changes to the checkin database schema.  If
 
259
   you use the <code>make-database</code> tool to (re)create your
 
260
   checkins database, it will by default employ the new database
 
261
   schema.  This should cause the database to be virtually unusable by
 
262
   previous versions of ViewVC, and that's by design.  If, however,
 
263
   you need to (re)create your checkins database and you require
 
264
   compatibility with previous versions of ViewVC or ViewCVS, simply
 
265
   pass the "--version=1.0" option to the <code>make-database</code>
 
266
   script.  Note that your "purge" and "rebuild" operations could be
 
267
   abysmally slow, though, as that version of the database schema is
 
268
   not optimized for those operations.</p>
 
269
 
 
270
</div>
 
271
 
 
272
<div class="h3">
 
273
<h3>Configuration Options</h3>
 
274
 
 
275
<p>This section covers changes to configuration options not already
 
276
   discussed in other sections pertaining to this upgrade.</p>
 
277
 
 
278
<p>In ViewVC 1.1, a new "utilities" section was added to the
 
279
   viewvc.conf file.  All the options used for configuring the
 
280
   locations of various helper applications that ViewVC uses which
 
281
   were previously scattered throughout the configuration file are now
 
282
   all centralized in this one new section.  To accomplish this, the
 
283
   following options were added:</p>
 
284
 
 
285
<ul>
 
286
  <li>utilities/cvsgraph</li>
 
287
  <li>utilities/cvsnt</li>
 
288
  <li>utilities/diff</li>
 
289
  <li>utilities/rcs_dir</li>
 
290
  <li>utilities/svn</li>
 
291
</ul>
 
292
 
 
293
<p>&hellip;and these were removed:</p>
 
294
 
 
295
<ul>
 
296
  <li>general/cvsnt_ext_path</li>
 
297
  <li>general/rcs_path</li>
 
298
  <li>general/svn_path</li>
 
299
  <li>options/cvsgraph_path</li>
 
300
</ul>
 
301
 
 
302
<p>All the options which governed which ViewVC views were enabled have
 
303
   been consolidated into a single new option.  This new option:</p>
 
304
 
 
305
<ul>
 
306
  <li>options/allowed_views</li>
 
307
</ul>
 
308
 
 
309
<p>&hellip;replaces these, which have been removed:</p>
 
310
 
 
311
<ul>
 
312
  <li>options/allow_annotate</li>
 
313
  <li>options/allow_markup</li>
 
314
  <li>options/allow_tar</li>
 
315
</ul>
 
316
 
 
317
<p>ViewVC now honors the "svn:mime-type" property stored on
 
318
   Subversion-versioned files as the primary source of MIME type
 
319
   determination (before falling back to name-based MIME mappings and
 
320
   such).  However, this can negatively affect the viewability of
 
321
   certain files &mdash; especially images &mdash; whose
 
322
   "svn:mime-type" properties are set incorrectly, such as will happen
 
323
   if Subversion itself merely determines that the file isn't
 
324
   human-readable and uses the "application/octet-stream" MIME type to
 
325
   record this determination.  To make ViewVC <em>not</em> honor the
 
326
   "svn:mime-type" property value, set the <code>svn_ignore_mimetype</code>
 
327
   configuration option.</p>
 
328
 
 
329
<p>Speaking of MIME types, the option <code>mime_types_file</code> is
 
330
   now <code>mime_types_files</code>, as it now carries multiple paths
 
331
   to MIME mappings files, ordered by preference.</p>
 
332
 
 
333
<p>The <code>use_rcsparse</code> option was moved from the "general"
 
334
   section to the "options" section.</p>
 
335
 
 
336
<p>The <code>log_sort</code> option's value "cvs" has been renamed to
 
337
   "none" (for general application across all supported version
 
338
   control systems).</p>
 
339
 
 
340
<p>Custom sections which define per-virtual-host configuration option
 
341
   overrides must now have their names prefixed with "vhost-".  Also,
 
342
   instead of a hyphen (-) between the virtual host name and the base
 
343
   configuration section being overridden, now there should be a
 
344
   forward slash character (/).  For example, the following
 
345
   configuration which was valid in ViewVC 1.0 is no longer valid:</p>
 
346
 
 
347
<blockquote><pre>[vhosts]
 
348
all = viewvc.*
 
349
 
 
350
[all-options]
 
351
allowed_views = annotate, diff, markup, tar
 
352
</pre>
 
353
</blockquote>
 
354
 
 
355
<p>This now needs to be written like so:</p>
 
356
 
 
357
<blockquote><pre>[vhosts]
 
358
all = viewvc.*
 
359
 
 
360
[vhost-all/options]
 
361
allowed_views = annotate, diff, markup, tar
 
362
</pre>
 
363
</blockquote>
 
364
 
 
365
<p>The following is a grab-bag of additional new options:</p>
 
366
 
 
367
<ul>
 
368
  <li>options/hide_errorful_entries</li>
 
369
  <li>options/mangle_email_addresses</li>
 
370
</ul>
 
371
 
 
372
</div>
 
373
 
 
374
<div class="h3">
 
375
<h3>Templates</h3>
 
376
    
 
377
<p>This section describes template variable changes introduced in this
 
378
   release.  See the <a href="./template-authoring-guide.html">Template
 
379
   Authoring Guide</a> for the current set of variables available to
 
380
   each templates.</p>
 
381
 
 
382
<p>One notable change in ViewVC 1.1 is that the markup.ezt and
 
383
   annotate.ezt templates have been combined into a single file.ezt
 
384
   template.</p>
 
385
 
 
386
<p>Also, the configuration options under the <code>[templates]</code>
 
387
   section are now paths relative to the configured template directory
 
388
   (either the value of the <code>options/template_dir</code>
 
389
   option, or the default "templates" directory), instead of being
 
390
   relative to the configuration location.</p>
 
391
 
 
392
<table>
 
393
<thead>
 
394
<tr>
 
395
  <th>Variable</th>
 
396
  <th>Location</th>
 
397
  <th>Changes</th>
 
398
</tr>
 
399
</thead>
 
400
<tbody>
 
401
<tr class="added">
 
402
  <td class="varname">rootpath</td>
 
403
  <td><em>all templates</em></td>
 
404
  <td>added</td>
 
405
</tr>
 
406
<tr class="removed">
 
407
  <td class="varname">change_root_action</td>
 
408
  <td><em>all templates</em></td>
 
409
  <td>removed</td>
 
410
</tr>
 
411
<tr class="removed">
 
412
  <td class="varname">change_root_hidden_values</td>
 
413
  <td><em>all templates</em></td>
 
414
  <td>removed</td>
 
415
</tr>
 
416
<tr class="removed">
 
417
  <td class="varname">roots</td>
 
418
  <td><em>all templates</em> except roots.ezt</td>
 
419
  <td>removed</td>
 
420
</tr>
 
421
<tr class="added">
 
422
  <td class="varname">roots.path</td>
 
423
  <td>roots.ezt</td>
 
424
  <td>added</td>
 
425
</tr>
 
426
<tr class="added">
 
427
  <td class="varname">queryform_href</td>
 
428
  <td>diff.ezt, file.ezt, graph.ezt, log.ezt, log_table.ezt, 
 
429
      query_form.ezt, revision.ezt, roots.ezt</td>
 
430
  <td>added</td>
 
431
</tr>
 
432
<tr class="added">
 
433
  <td class="varname">tarball_href</td>
 
434
  <td>diff.ezt, file.ezt, graph.ezt, log.ezt, log_table.ezt,
 
435
      query_form.ezt, query_results.ezt, revision.ezt, roots.ezt</td>
 
436
  <td>added</td>
 
437
</tr>
 
438
<tr class="added">
 
439
  <td class="varname">properties</td>
 
440
  <td>directory.ezt, file.ezt</td>
 
441
  <td>added</td>
 
442
</tr>
 
443
<tr class="added">
 
444
  <td class="varname">properties.name</td>
 
445
  <td>directory.ezt, file.ezt</td>
 
446
  <td>added</td>
 
447
</tr>
 
448
<tr class="added">
 
449
  <td class="varname">properties.undisplayable</td>
 
450
  <td>directory.ezt, file.ezt</td>
 
451
  <td>added</td>
 
452
</tr>
 
453
<tr class="added">
 
454
  <td class="varname">properties.value</td>
 
455
  <td>directory.ezt, file.ezt</td>
 
456
  <td>added</td>
 
457
</tr>
 
458
<tr class="changed">
 
459
  <td class="varname">diff_format_hidden_values</td>
 
460
  <td>diff.ezt</td>
 
461
  <td>now is an iterable list of objects with .name and .value attributes</td>
 
462
</tr>
 
463
<tr class="changed">
 
464
  <td class="varname">diff_type</td>
 
465
  <td>diff.ezt</td>
 
466
  <td>new value: <code>f</code></td>
 
467
</tr>
 
468
<tr class="renamed">
 
469
  <td class="varname">date_left</td>
 
470
  <td>diff.ezt</td>
 
471
  <td>renamed to <code>left.date</code></td>
 
472
</tr>
 
473
<tr class="renamed">
 
474
  <td class="varname">path_left</td>
 
475
  <td>diff.ezt</td>
 
476
  <td>renamed to <code>left.path</code></td>
 
477
</tr>
 
478
<tr class="renamed">
 
479
  <td class="varname">rev_left</td>
 
480
  <td>diff.ezt</td>
 
481
  <td>renamed to <code>left.rev</code></td>
 
482
</tr>
 
483
<tr class="renamed">
 
484
  <td class="varname">tag_left</td>
 
485
  <td>diff.ezt</td>
 
486
  <td>renamed to <code>left.tag</code></td>
 
487
</tr>
 
488
<tr class="renamed">
 
489
  <td class="varname">date_right</td>
 
490
  <td>diff.ezt</td>
 
491
  <td>renamed to <code>right.date</code></td>
 
492
</tr>
 
493
<tr class="renamed">
 
494
  <td class="varname">path_right</td>
 
495
  <td>diff.ezt</td>
 
496
  <td>renamed to <code>right.path</code></td>
 
497
</tr>
 
498
<tr class="renamed">
 
499
  <td class="varname">rev_right</td>
 
500
  <td>diff.ezt</td>
 
501
  <td>renamed to <code>right.rev</code></td>
 
502
</tr>
 
503
<tr class="renamed">
 
504
  <td class="varname">tag_right</td>
 
505
  <td>diff.ezt</td>
 
506
  <td>renamed to <code>right.tag</code></td>
 
507
</tr>
 
508
<tr class="removed">
 
509
  <td class="varname">annotate_href</td>
 
510
  <td>diff.ezt</td>
 
511
  <td>removed, use <code>right.annotate_href</code> instead</td>
 
512
</tr>
 
513
<tr class="added">
 
514
  <td class="varname">left.annotate_href</td>
 
515
  <td>diff.ezt</td>
 
516
  <td>added</td>
 
517
</tr>
 
518
<tr class="added">
 
519
  <td class="varname">left.download_href</td>
 
520
  <td>diff.ezt</td>
 
521
  <td>added</td>
 
522
</tr>
 
523
<tr class="added">
 
524
  <td class="varname">left.download_text_href</td>
 
525
  <td>diff.ezt</td>
 
526
  <td>added</td>
 
527
</tr>
 
528
<tr class="added">
 
529
  <td class="varname">left.prefer_markup</td>
 
530
  <td>diff.ezt</td>
 
531
  <td>added</td>
 
532
</tr>
 
533
<tr class="added">
 
534
  <td class="varname">left.revision_href</td>
 
535
  <td>diff.ezt</td>
 
536
  <td>added</td>
 
537
</tr>
 
538
<tr class="added">
 
539
  <td class="varname">left.view_href</td>
 
540
  <td>diff.ezt</td>
 
541
  <td>added</td>
 
542
</tr>
 
543
<tr class="added">
 
544
  <td class="varname">right.annotate_href</td>
 
545
  <td>diff.ezt</td>
 
546
  <td>added</td>
 
547
</tr>
 
548
<tr class="added">
 
549
  <td class="varname">right.download_href</td>
 
550
  <td>diff.ezt</td>
 
551
  <td>added</td>
 
552
</tr>
 
553
<tr class="added">
 
554
  <td class="varname">right.download_text_href</td>
 
555
  <td>diff.ezt</td>
 
556
  <td>added</td>
 
557
</tr>
 
558
<tr class="added">
 
559
  <td class="varname">right.prefer_markup</td>
 
560
  <td>diff.ezt</td>
 
561
  <td>added</td>
 
562
</tr>
 
563
<tr class="added">
 
564
  <td class="varname">right.revision_href</td>
 
565
  <td>diff.ezt</td>
 
566
  <td>added</td>
 
567
</tr>
 
568
<tr class="added">
 
569
  <td class="varname">right.view_href</td>
 
570
  <td>diff.ezt</td>
 
571
  <td>added</td>
 
572
</tr>
 
573
<tr class="added">
 
574
  <td class="varname">right.view_href</td>
 
575
  <td>diff.ezt</td>
 
576
  <td>added</td>
 
577
</tr>
 
578
<tr class="changed">
 
579
  <td class="varname">dir_paging_hidden_values</td>
 
580
  <td>directory.ezt, , dir_alternate.ezt</td>
 
581
  <td>now is an iterable list of objects with .name and .value attributes</td>
 
582
</tr>
 
583
<tr class="changed">
 
584
  <td class="varname">entries.log</td>
 
585
  <td>directory.ezt, dir_alternate.ezt</td>
 
586
  <td>now always contains untruncated log message</td>
 
587
</tr>
 
588
<tr class="added">
 
589
  <td class="varname">entries.short_log</td>
 
590
  <td>directory.ezt, dir_alternate.ezt</td>
 
591
  <td>added</td>
 
592
</tr>
 
593
<tr class="changed">
 
594
  <td class="varname">search_re_hidden_values</td>
 
595
  <td>directory.ezt, dir_alternate.ezt</td>
 
596
  <td>now is an iterable list of objects with .name and .value attributes</td>
 
597
</tr>
 
598
<tr class="changed">
 
599
  <td class="varname">search_tag_hidden_values</td>
 
600
  <td>directory.ezt, dir_alternate.ezt</td>
 
601
  <td>now is an iterable list of objects with .name and .value attributes</td>
 
602
</tr>
 
603
<tr class="changed">
 
604
  <td class="varname">pathrev_clear_hidden_values</td>
 
605
  <td>log.ezt, log_table.ezt, directory.ezt, dir_alternate.ezt</td>
 
606
  <td>now is an iterable list of objects with .name and .value attributes</td>
 
607
</tr>
 
608
<tr class="changed">
 
609
  <td class="varname">pathrev_hidden_values</td>
 
610
  <td>log.ezt, log_table.ezt, directory.ezt, dir_alternate.ezt</td>
 
611
  <td>now is an iterable list of objects with .name and .value attributes</td>
 
612
</tr>
 
613
<tr class="renamed">
 
614
  <td class="varname">annotate_href</td>
 
615
  <td>log.ezt, log_table.ezt</td>
 
616
  <td>renamed to <code>head_annotate_href</code></td>
 
617
</tr>
 
618
<tr class="changed">
 
619
  <td class="varname">diff_form_hidden_values</td>
 
620
  <td>log.ezt, log_table.ezt</td>
 
621
  <td>now is an iterable list of objects with .name and .value attributes</td>
 
622
</tr>
 
623
<tr class="renamed">
 
624
  <td class="varname">download_href</td>
 
625
  <td>log.ezt, log_table.ezt</td>
 
626
  <td>renamed to <code>head_download_href</code></td>
 
627
</tr>
 
628
<tr class="renamed">
 
629
  <td class="varname">download_text_href</td>
 
630
  <td>log.ezt, log_table.ezt</td>
 
631
  <td>renamed to <code>head_download_text_href</code></td>
 
632
</tr>
 
633
<tr class="changed">
 
634
  <td class="varname">log_paging_hidden_values</td>
 
635
  <td>log.ezt, log_table.ezt</td>
 
636
  <td>now is an iterable list of objects with .name and .value attributes</td>
 
637
</tr>
 
638
<tr class="changed">
 
639
  <td class="varname">logsort_hidden_values</td>
 
640
  <td>log.ezt, log_table.ezt</td>
 
641
  <td>now is an iterable list of objects with .name and .value attributes</td>
 
642
</tr>
 
643
<tr class="renamed">
 
644
  <td class="varname">prefer_markup</td>
 
645
  <td>log.ezt, log_table.ezt</td>
 
646
  <td>renamed to <code>head_prefer_markup</code></td>
 
647
</tr>
 
648
<tr class="renamed">
 
649
  <td class="varname">view_href</td>
 
650
  <td>log.ezt, log_table.ezt</td>
 
651
  <td>renamed to <code>head_view_href</code></td>
 
652
</tr>
 
653
<tr class="added">
 
654
  <td class="varname">rss_link_href</td>
 
655
  <td>query.ezt, rss.ezt</td>
 
656
  <td>added</td>
 
657
</tr>
 
658
<tr class="changed">
 
659
  <td class="varname">query_hidden_values</td>
 
660
  <td>query_form.ezt</td>
 
661
  <td>now is an iterable list of objects with .name and .value attributes</td>
 
662
</tr>
 
663
<tr class="changed">
 
664
  <td class="varname">jump_rev_hidden_values</td>
 
665
  <td>revision.ezt</td>
 
666
  <td>now is an iterable list of objects with .name and .value attributes</td>
 
667
</tr>
 
668
<tr class="added">
 
669
  <td class="varname">num_changes</td>
 
670
  <td>revision.ezt</td>
 
671
  <td>added</td>
 
672
</tr>
 
673
</tbody>
 
674
</table>
 
675
 
 
676
</div>
 
677
</div>
 
678
 
 
679
<div class="h2">
78
680
<h2 id="sec-from-0-9">Upgrading From ViewCVS 0.9</h2>
79
681
 
80
682
<p>This section discusses how to upgrade ViewCVS 0.9 to ViewVC 1.0.</p>
81
683
 
 
684
<div class="h3">
82
685
<h3>CGI Stubs</h3>
83
686
    
84
687
<p>The CGI stub scripts haved been moved from
89
692
   changed, so you may need to replace copies of the old scripts you
90
693
   put in other directories.</p>
91
694
 
 
695
</div>
 
696
 
 
697
<div class="h3">
92
698
<h3>Checkin Database</h3>
93
699
    
94
700
<p>ViewVC 1.0 reads and writes commit times in the MySQL database in
95
 
   UTC time rather than local time. This can cause times displayed on
 
701
   UTC time rather than local time.  This can cause times displayed on
96
702
   the query page to be a few hours off if an old database is being
97
703
   used with a new version of ViewVC.  The best way to fix this is to
98
704
   rebuild the database with the new version of cvsdbadmin, but it
99
705
   is also possible to enable a backwards compatibility mode by
100
706
   setting <code>utc_time = 0</code> at the top of lib/dbi.py</p>
101
707
 
 
708
</div>
 
709
 
 
710
<div class="h3">
102
711
<h3>"checkout_magic" Option</h3>
103
712
 
104
713
<p>In ViewVC 1.0, the <code>checkout_magic</code> option has been
113
722
   be re-enabled. The <code>viewcvs.conf</code> file describes these
114
723
   options in detail.</p>
115
724
 
 
725
</div>
 
726
 
 
727
<div class="h3">
116
728
<h3>Configuration Options</h3>
117
729
 
118
730
<p>The following options have been added:</p>
129
741
  <li>options/root_as_url_component</li>
130
742
  <li>options/default_file_view</li>
131
743
  <li>options/sort_group_dirs</li>
132
 
  <li>options/use_pagesize</li>
 
744
  <li>options/dir_pagesize</li>
 
745
  <li>options/log_pagesize</li>
133
746
  <li>options/limit_changes</li>
134
747
  <li>options/use_localtime</li>
135
748
  <li>options/cross_copies</li>
157
770
  <li>templates/footer</li>
158
771
</ul>
159
772
 
 
773
</div>
 
774
 
 
775
<div class="h3">
160
776
<h3>Templates</h3>
161
777
    
162
778
<p>The templates have changed drastically in this version of ViewVC.
761
1377
<tr class="renamed">
762
1378
  <td class="varname">rows.log</td>
763
1379
  <td>dir_alternate.ezt, directory.ezt</td>
764
 
  <td>renamed to <code>entries.log</code></td>
 
1380
  <td>renamed to <code>entries.short_log</code></td>
765
1381
</tr>
766
1382
<tr class="renamed">
767
1383
  <td class="varname">rows.log_file</td>
961
1577
</tbody>
962
1578
</table>
963
1579
 
964
 
<h4>Template Arrangement</h4>
 
1580
</div>
 
1581
 
 
1582
<div class="h3">
 
1583
<h3>Template Arrangement</h3>
965
1584
    
966
1585
<p>The default templates have been rearranged a bit in ViewVC 1.0.
967
1586
   Specifically, "header.ezt" and "footer.ezt" have moved into the
979
1598
   configuration file.</p>
980
1599
 
981
1600
</div>
982
 
<div class="section">
 
1601
</div>
983
1602
 
 
1603
<div class="h2">
984
1604
<h2 id="sec-from-0-8">Upgrading From ViewCVS 0.8</h2>
985
1605
 
986
 
    <p>
987
 
      This section discusses how to upgrade ViewCVS 0.8 to version
988
 
      0.9 or a later version of the software.
989
 
    </p>
 
1606
<p>This section discusses how to upgrade ViewCVS 0.8 to version
 
1607
   0.9 or a later version of the software.</p>
990
1608
    
991
 
    <p>
992
 
      <strong>NOTE:</strong> these changes will bring you up to the
993
 
      requirements of version 0.9. You must also follow the directions
994
 
      for <a href="#from9">upgrading from 0.9</a>.
995
 
    </p>
996
 
 
997
 
    <h3>Configuration Options</h3>
998
 
    <p>
999
 
      More templates were introduced in version 0.8 of the software,
1000
 
      which made many of the configuration options obsolete. This
1001
 
      section covers which options were removed. If you made any
1002
 
      changes to these options, then you will need to make
1003
 
      corresponding changes in the templates.
1004
 
    </p>
 
1609
<p><strong>NOTE:</strong> these changes will bring you up to the
 
1610
   requirements of version 0.9. You must also follow the directions
 
1611
   for <a href="#sec-from-0-9">upgrading from 0.9</a>.</p>
 
1612
 
 
1613
<div class="h3">
 
1614
<h3>Configuration Options</h3>
 
1615
 
 
1616
<p>More templates were introduced in version 0.8 of the software,
 
1617
   which made many of the configuration options obsolete. This section
 
1618
   covers which options were removed. If you made any changes to these
 
1619
   options, then you will need to make corresponding changes in the
 
1620
   templates.</p>
1005
1621
 
1006
1622
      <dl>
1007
1623
        <dt>
1090
1706
 
1091
1707
      </dl>
1092
1708
 
1093
 
    <h3>Template Variables</h3>
1094
 
    <p>
1095
 
      Some template variables that were available in 0.8 have been
1096
 
      removed in 0.9. If you have custom templates that refer to these
1097
 
      variables, then you will need to modify your templates.
1098
 
    </p>
 
1709
</div>
 
1710
 
 
1711
<div class="h3">
 
1712
<h3>Template Variables</h3>
 
1713
 
 
1714
<p>Some template variables that were available in 0.8 have been
 
1715
   removed in 0.9. If you have custom templates that refer to these
 
1716
   variables, then you will need to modify your templates.</p>
1099
1717
 
1100
1718
            <dl>
1101
1719
              <dt><code>directory.ezt</code>: <var>headers</var></dt>
1146
1764
            </dl>
1147
1765
 
1148
1766
</div>
 
1767
</div>
1149
1768
 
1150
 
</td>
1151
 
</tr>
1152
 
</table>
1153
1769
</body>
1154
1770
</html>