UPDATING(3)

NAME
UPDATING

SYNOPSIS
Notes on updating from previous versions of SVN::Web

WARNING
This is out of date for 0.60

DESCRIPTION
If you have not modified the supplied template files the update can be carried out by:

1.  Backing up your existing config.yaml file.

2.  Removing all the files in your current "svnweb" directory.

3.  Running "svnweb-install" from this distribution. This will copy the new templates, as well as creating a new config.yaml.

4.  Restoring the config.yaml that you backed up in step 1, and making any changes, as described below.

If you have made local modifications then the following information should help you merge the changes in this version in to your modified files.

  0.52 to 0.53

•   Update the "version" key in your configuration file to 0.53.

•   Subversion paths are now escaped by SVN::Web before being passed to the templates, resulting in a change to every template that contains a path. In general, this means that where previously you would write:

      [% path | uri | html %]

    in a template, now you can just write

      [% path %]

    If you do not re-run "svnweb-install" when you upgrade to this version you must update the templates by hand.

  0.51 to 0.52

•   Update the "version" key in your configuration file to 0.52.

  0.50 to 0.51

•   Update the "version" key in your configuration file to 0.51.

  0.49 to 0.50

•   The configuration file must now contain a "version" key, the value of which must match the SVN::Web version. If it is not present, or does not match, SVN::Web will die(), and generate an appropriate error in the logs.

    Add this line:

      version: 0.50

    to config.yaml, after making sure that you have updated the configuration file to contain all the necessary new directives.

•   There are many new configuration options for actions. Either run "svnweb-install", as advised above, or view the documentation for each action, which has been updated to show the new entries that should be placed in config.yaml for the action.

    This change has also affected all the action templates save for list and rss. There is a new Template/trac/_action_menu template.

•   SVN::Web::Blame has been added, with an associated Template/trac/blame template.

•   Diff generation has changed, resulting in changes to Template/trac/diff and Template/trac/revision. There is a new Template/trac/_diff template.

•   The Template/trac/log template has changed to support paging through results and changing how many results are displayed per page.

•   The Template/trac/rss template has changed to wrap the contents of the <description> element in a CDATA marker.

•   The I18N/en.po localisation file contains several new and updated entries.

  0.48 to 0.49

•   Template/trac/header, Template/trac/browse, Template/trac/log, Template/trav/view, and Style/trac/browser.css have been updated for HTML compliance.

•   Template/trac/diff no longer uses the CGI module to retrieve the current URL.

  0.47 to 0.48

•   I18N/fr.po has a small update. The diff is at <http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/I18N/fr.po?rev1=958;rev2=959>.

•   I18N/en.po has a small update. The diff is at <http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/I18N/en.po?rev1=972;rev2=973>.

•   I18N/zh_cn.po has a small update. The diff is at <http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/I18N/zh_cn.po?rev1=898;rev2=899>.

•   There have been several changes to the templates to support new RSS feeds and the new timedate formatting options.

    The diffs are:

    trac/browse
        <http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/Template/trac/browse?revs=977&revs=881>

    trac/diff
        <http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/Template/trac/diff?rev1=894;rev2=895>

    trac/header
        <http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/Template/trac/header?revs=977&revs=959>

    trac/list
        <http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/Template/trac/list?rev1=894;rev2=895>

    trac/log
        <http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/Template/trac/log?revs=975&revs=891>

    trac/revision
        <http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/Template/trac/revision?revs=895&revs=890>

    trac/view
        <http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/Template/trac/view?revs=977&revs=891>

    trac/x
        <http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/Template/trac/x?rev1=894;rev2=895>

    In addition, there is a new trac/rss template, and a new Style/trac/feed-icon-16x16.png, both of which must be copied in to place.

•   Style/trac/browser.css contains changes to support the new language selection box. The diff is at <http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/Style/trac/browser.css?rev1=958;rev2=959>.

  0.46 to 0.47

•   I18N/en.po contains changes relating to caching and bug fixes. The diffs for these changes are at <http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/I18N/en.po?rev1=863;rev2=864> and <http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/I18N/en.po?rev1=879;rev2=880>.

•   All of the trac/ templates have been updated to URI escape paths and filenames in appropriate places. The revisions showing these changes are <http://jc.ngo.org.uk/svnweb/jc/revision/?rev=879> and <http://jc.ngo.org.uk/svnweb/jc/revision/?rev=881>.

•   trac/header and trac/log have been updated to use the "at_head" variable. The revision with the change is <http://jc.ngo.org.uk/svnweb/jc/revision/?rev=871>.

  0.45 to 0.46
This was a bug fix release, with no changes to the templates, localisation, or configuration files.

  0.44 to 0.45
This was a bug fix release, with no changes to the templates, localisation, or configuration files.

  0.43 to 0.44
If you have not modified the supplied templates and localisation files the update can be carried out by:

1.  Backing up your existing config.yaml file.

2.  Removing all the files in your current "svnweb" directory.

3.  Running "svnweb-install" from this distribution. This will copy the new templates and localisation files, as well as creating a new config.yaml.

4.  Restoring the config.yaml that you backed up in step 1.

If you have made local modifications then the following information should help you merge the changes in this version in to your modified files.

•   The trac/log template has been changed to remove some output from comments. Although this output was never seen, generating it used CPU and memory. This was especially apparent on changes that affected many files. Using the new trac/log template (or merging the change in by hand) will speed up log browsing.

    The diff for these changes is at <http://jc.ngo.org.uk/svnweb/jc/revision/?rev=793>.

•   I18N/en.po has been updated with a new error message when an invalid revision number is specified.

    The diff for these changes is at <http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/I18N/en.po?revs=794&revs=788>.

•   I18N/en.po and trac/browse have been updated to show a file's age, relative to the last commit that affected it.

    The diffs for these changes are at <http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/I18N/en.po?revs=788&revs=719> and <http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/Template/trac/browse?revs=788&revs=553>.

  0.42 to 0.43

•   The en.po localisation file and diff template have been changed to support viewing plain text diffs. Either copy the supplied files over your copies, or merge the changes in by hand if you are using your own templates.

    The diff for these changes is at <http://jc.ngo.org.uk/svnweb/jc/revision/?rev=719>.

•   SVN::Web::Revision has a new option controlling whether or not diffs are shown when viewing a revision. To support it the revision template has changed. Either copy the supplied template over your copy, or merge the changes by hand if you are using your own template.

    The diff for this change is at <http://jc.ngo.org.uk/svnweb/jc/revision?rev=721>.

•   The templates trac/trac.css and trac/code.css have been changed to remove references to images that are not shipped in this distribution. This will stop web browsers requesting them, and keeps "svnweb-server" quiet. It's not essential that you update your copies accordingly, but it doesn't hurt either.

    The diff for this change is at <http://jc.ngo.org.uk/svnweb/jc/revision?rev=764>.

  0.41 to 0.42

•   The format for specifying actions in the configuration file has changed. In addition, there are no longer any default actions -- any actions not specified in the configuration file will be ignored.

    To retain existing functionality you must ensure that the following appears in config.yaml.

      actions:
        browse:
          class: SVN::Web::Browse
        checkout:
          class: SVN::Web::Checkout
        diff:
          class: SVN::Web::Diff
        list:
          class: SVN::Web::List
        log:
          class: SVN::Web::Log
        revision:
          class: SVN::Web::Revision
        rss:
          class: SVN::Web::RSS
        view:
          class: SVN::Web::View

•   There have been several changes to the trac templates. If you have made any local modifications then you will need to merge your changes in to the new templates.

•   Use of the "templatedir" configuration directive is now deprecated. You should use "templatedirs" instead. This is to support third party actions that supply their own templates in different directories.

    "templatedir" in the configuration file will continue to work, but you should change existing entries of the form:

      templatedir: '/path/to/directory'

    to this form:

      templatedirs:
        - '/path/to/directory'

    A configuration file that specifies both "templatedir" and "templatedirs" will generate an exception when anyone browses the repository.

  0.40 to 0.41
After installing the new module you should copy lib/Templates/trac/header to <dir>/template/trac/header, where <dir> is the directory in which you ran "svnweb-install".

  Anything < 0.40 to 0.40
The 0.40 release includes sweeping changes to the templates, as well as additional functionality and configuration directives. See CHANGES for details.

The simplest approach is to backup your existing config.yaml and then re-run "svnweb-install". This will generate a new config.yaml and copy over the new templates and other files.

It should be easy to migrate your old configuration directives to the new configuration file.