UPDATING
Notes on updating from previous versions of SVN::Web
If you have not modified the supplied templates and localisation files the update can be carried out by:
Backing up your existing config.yaml file.
Removing all the files in your current svnweb directory.
svnweb
Running svnweb-install from this distribution. This will copy the new templates and localisation files, as well as creating a new config.yaml.
svnweb-install
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.
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.
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:
http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/Template/trac/browse?revs=977&revs=881
http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/Template/trac/diff?rev1=894;rev2=895
http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/Template/trac/header?revs=977&revs=959
http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/Template/trac/list?rev1=894;rev2=895
http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/Template/trac/log?revs=975&revs=891
http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/Template/trac/revision?revs=895&revs=890
http://jc.ngo.org.uk/svnweb/jc/diff/nik/CPAN/SVN-Web/trunk/lib/SVN/Web/Template/trac/view?revs=977&revs=891
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.
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.
at_head
This was a bug fix release, with no changes to the templates, localisation, or configuration files.
Restoring the config.yaml that you backed up in step 1.
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.
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.
svnweb-server
The diff for this change is at http://jc.ngo.org.uk/svnweb/jc/revision?rev=764.
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
templatedirs
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.
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.
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.
To install SVN::Web, copy and paste the appropriate command in to your terminal.
cpanm
cpanm SVN::Web
CPAN shell
perl -MCPAN -e shell install SVN::Web
For more information on module installation, please visit the detailed CPAN module installation guide.