.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" ======================================================================== .\" .IX Title "UPDATING 3pm" .TH UPDATING 3pm "2016-11-12" "perl v5.24.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" UPDATING .SH "SYNOPSIS" .IX Header "SYNOPSIS" Notes on updating from previous versions of SVN::Web .SH "WARNING" .IX Header "WARNING" This is out of date for 0.60 .SH "DESCRIPTION" .IX Header "DESCRIPTION" If you have not modified the supplied template files the update can be carried out by: .IP "1." 4 Backing up your existing \fIconfig.yaml\fR file. .IP "2." 4 Removing all the files in your current \f(CW\*(C`svnweb\*(C'\fR directory. .IP "3." 4 Running \f(CW\*(C`svnweb\-install\*(C'\fR from this distribution. This will copy the new templates, as well as creating a new \fIconfig.yaml\fR. .IP "4." 4 Restoring the \fIconfig.yaml\fR that you backed up in step 1, and making any changes, as described below. .PP If you have made local modifications then the following information should help you merge the changes in this version in to your modified files. .SS "0.52 to 0.53" .IX Subsection "0.52 to 0.53" .IP "\(bu" 4 Update the \f(CW\*(C`version\*(C'\fR key in your configuration file to 0.53. .IP "\(bu" 4 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: .Sp .Vb 1 \& [% path | uri | html %] .Ve .Sp in a template, now you can just write .Sp .Vb 1 \& [% path %] .Ve .Sp If you do not re-run \f(CW\*(C`svnweb\-install\*(C'\fR when you upgrade to this version you \fBmust\fR update the templates by hand. .SS "0.51 to 0.52" .IX Subsection "0.51 to 0.52" .IP "\(bu" 4 Update the \f(CW\*(C`version\*(C'\fR key in your configuration file to 0.52. .SS "0.50 to 0.51" .IX Subsection "0.50 to 0.51" .IP "\(bu" 4 Update the \f(CW\*(C`version\*(C'\fR key in your configuration file to 0.51. .SS "0.49 to 0.50" .IX Subsection "0.49 to 0.50" .IP "\(bu" 4 The configuration file must now contain a \f(CW\*(C`version\*(C'\fR key, the value of which must match the SVN::Web version. If it is not present, or does not match, SVN::Web will \f(CW\*(C`die()\*(C'\fR, and generate an appropriate error in the logs. .Sp Add this line: .Sp .Vb 1 \& version: 0.50 .Ve .Sp to \fIconfig.yaml\fR, after making sure that you have updated the configuration file to contain all the necessary new directives. .IP "\(bu" 4 There are many new configuration options for actions. Either run \&\f(CW\*(C`svnweb\-install\*(C'\fR, as advised above, or view the documentation for each action, which has been updated to show the new entries that should be placed in \fIconfig.yaml\fR for the action. .Sp This change has also affected all the action templates save for \&\fIlist\fR and \fIrss\fR. There is a new \fITemplate/trac/_action_menu\fR template. .IP "\(bu" 4 SVN::Web::Blame has been added, with an associated \&\fITemplate/trac/blame\fR template. .IP "\(bu" 4 Diff generation has changed, resulting in changes to \fITemplate/trac/diff\fR and \fITemplate/trac/revision\fR. There is a new \fITemplate/trac/_diff\fR template. .IP "\(bu" 4 The \fITemplate/trac/log\fR template has changed to support paging through results and changing how many results are displayed per page. .IP "\(bu" 4 The \fITemplate/trac/rss\fR template has changed to wrap the contents of the element in a \s-1CDATA\s0 marker. .IP "\(bu" 4 The \fII18N/en.po\fR localisation file contains several new and updated entries. .SS "0.48 to 0.49" .IX Subsection "0.48 to 0.49" .IP "\(bu" 4 \&\fITemplate/trac/header\fR, \fITemplate/trac/browse\fR, \fITemplate/trac/log\fR, \&\fITemplate/trav/view\fR, and \fIStyle/trac/browser.css\fR have been updated for \s-1HTML\s0 compliance. .IP "\(bu" 4 \&\fITemplate/trac/diff\fR no longer uses the \s-1CGI\s0 module to retrieve the current \s-1URL.\s0 .SS "0.47 to 0.48" .IX Subsection "0.47 to 0.48" .IP "\(bu" 4 \&\fII18N/fr.po\fR has a small update. The diff is at . .IP "\(bu" 4 \&\fII18N/en.po\fR has a small update. The diff is at . .IP "\(bu" 4 \&\fII18N/zh_cn.po\fR has a small update. The diff is at . .IP "\(bu" 4 There have been several changes to the templates to support new \s-1RSS\s0 feeds and the new timedate formatting options. .Sp The diffs are: .RS 4 .IP "\fItrac/browse\fR" 4 .IX Item "trac/browse" .IP "\fItrac/diff\fR" 4 .IX Item "trac/diff" .IP "\fItrac/header\fR" 4 .IX Item "trac/header" .IP "\fItrac/list\fR" 4 .IX Item "trac/list" .IP "\fItrac/log\fR" 4 .IX Item "trac/log" .IP "\fItrac/revision\fR" 4 .IX Item "trac/revision" .IP "\fItrac/view\fR" 4 .IX Item "trac/view" .IP "\fItrac/x\fR" 4 .IX Item "trac/x" .RE .RS 4 .Sp In addition, there is a new \fItrac/rss\fR template, and a new \&\fIStyle/trac/feed\-icon\-16x16.png\fR, both of which must be copied in to place. .RE .IP "\(bu" 4 \&\fIStyle/trac/browser.css\fR contains changes to support the new language selection box. The diff is at . .SS "0.46 to 0.47" .IX Subsection "0.46 to 0.47" .IP "\(bu" 4 \&\fII18N/en.po\fR contains changes relating to caching and bug fixes. The diffs for these changes are at and . .IP "\(bu" 4 All of the \fItrac/\fR templates have been updated to \s-1URI\s0 escape paths and filenames in appropriate places. The revisions showing these changes are and . .IP "\(bu" 4 \&\fItrac/header\fR and \fItrac/log\fR have been updated to use the \f(CW\*(C`at_head\*(C'\fR variable. The revision with the change is . .SS "0.45 to 0.46" .IX Subsection "0.45 to 0.46" This was a bug fix release, with no changes to the templates, localisation, or configuration files. .SS "0.44 to 0.45" .IX Subsection "0.44 to 0.45" This was a bug fix release, with no changes to the templates, localisation, or configuration files. .SS "0.43 to 0.44" .IX Subsection "0.43 to 0.44" If you have not modified the supplied templates and localisation files the update can be carried out by: .IP "1." 4 Backing up your existing \fIconfig.yaml\fR file. .IP "2." 4 Removing all the files in your current \f(CW\*(C`svnweb\*(C'\fR directory. .IP "3." 4 Running \f(CW\*(C`svnweb\-install\*(C'\fR from this distribution. This will copy the new templates and localisation files, as well as creating a new \fIconfig.yaml\fR. .IP "4." 4 Restoring the \fIconfig.yaml\fR that you backed up in step 1. .PP If you have made local modifications then the following information should help you merge the changes in this version in to your modified files. .IP "\(bu" 4 The \fItrac/log\fR template has been changed to remove some output from comments. Although this output was never seen, generating it used \s-1CPU\s0 and memory. This was especially apparent on changes that affected many files. Using the new \fItrac/log\fR template (or merging the change in by hand) will speed up log browsing. .Sp The diff for these changes is at . .IP "\(bu" 4 \&\fII18N/en.po\fR has been updated with a new error message when an invalid revision number is specified. .Sp The diff for these changes is at . .IP "\(bu" 4 \&\fII18N/en.po\fR and \fItrac/browse\fR have been updated to show a file's age, relative to the last commit that affected it. .Sp The diffs for these changes are at and . .SS "0.42 to 0.43" .IX Subsection "0.42 to 0.43" .IP "\(bu" 4 The \fIen.po\fR localisation file and \fIdiff\fR 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. .Sp The diff for these changes is at . .IP "\(bu" 4 SVN::Web::Revision has a new option controlling whether or not diffs are shown when viewing a revision. To support it the \fIrevision\fR template has changed. Either copy the supplied template over your copy, or merge the changes by hand if you are using your own template. .Sp The diff for this change is at . .IP "\(bu" 4 The templates \fItrac/trac.css\fR and \fItrac/code.css\fR have been changed to remove references to images that are not shipped in this distribution. This will stop web browsers requesting them, and keeps \f(CW\*(C`svnweb\-server\*(C'\fR quiet. It's not essential that you update your copies accordingly, but it doesn't hurt either. .Sp The diff for this change is at . .SS "0.41 to 0.42" .IX Subsection "0.41 to 0.42" .IP "\(bu" 4 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. .Sp To retain existing functionality you must ensure that the following appears in \fIconfig.yaml\fR. .Sp .Vb 10 \& 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 .Ve .IP "\(bu" 4 There have been several changes to the \fItrac\fR templates. If you have made any local modifications then you will need to merge your changes in to the new templates. .IP "\(bu" 4 Use of the \f(CW\*(C`templatedir\*(C'\fR configuration directive is now deprecated. You should use \f(CW\*(C`templatedirs\*(C'\fR instead. This is to support third party actions that supply their own templates in different directories. .Sp \&\f(CW\*(C`templatedir\*(C'\fR in the configuration file will continue to work, but you should change existing entries of the form: .Sp .Vb 1 \& templatedir: \*(Aq/path/to/directory\*(Aq .Ve .Sp to this form: .Sp .Vb 2 \& templatedirs: \& \- \*(Aq/path/to/directory\*(Aq .Ve .Sp A configuration file that specifies both \f(CW\*(C`templatedir\*(C'\fR and \f(CW\*(C`templatedirs\*(C'\fR will generate an exception when anyone browses the repository. .SS "0.40 to 0.41" .IX Subsection "0.40 to 0.41" After installing the new module you should copy \&\fIlib/Templates/trac/header\fR to \fI/template/trac/header\fR, where \&\fI\fR is the directory in which you ran \f(CW\*(C`svnweb\-install\*(C'\fR. .SS "Anything < 0.40 to 0.40" .IX Subsection "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 \fI\s-1CHANGES\s0\fR for details. .PP The simplest approach is to backup your existing \fIconfig.yaml\fR and then re-run \f(CW\*(C`svnweb\-install\*(C'\fR. This will generate a new \fIconfig.yaml\fR and copy over the new templates and other files. .PP It should be easy to migrate your old configuration directives to the new configuration file.