The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

UPDATING

SYNOPSIS

Notes on updating from previous versions of SVN::Web

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

0.46 to 0.47

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.

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.