UPDATING(3pm)

πŸ“¦
version 0.63 Β· 3 versions
, in debian trixie, ubuntu resolute, ubuntu stonking

πŸ¦‹ UPDATING πŸ¦‹

ok so. You found UPDATING β€” that's the page title, and it lives in the User Contributed Perl Documentation, section 3pm. It's the whole lore on how to level up your SVN::Web install from an older version without nuking your setup. Sit down, hydrate, we're going through every single release note. We are NOT skipping the boring ones. There are no boring ones. πŸ’…


πŸ‘‘ NAME πŸ‘‘

UPDATING ✨

That's her. That's the name. Iconic, minimal, no notes.

πŸ¦‹ SYNOPSIS πŸ¦‹

It's literally notes on updating from previous versions of SVN::Web. That's the whole vibe check. 🫢

⚠️ WARNING ⚠️

bestie. LISTEN. This is out of date for 0.60. πŸ’€

I'm still giving you every single word of it exactly as written, because that's the assignment and the history is genuinely useful, but pls don't act brand new about it β€” this page is describing the before-times.


πŸ’– DESCRIPTION πŸ’–

So here's the dream scenario: you have not modified the supplied template files. Queen behaviour. In that case the update is genuinely just:

  1. Backing up your existing config.yaml file. Do NOT skip this. This is your whole personality in one file. πŸ₯Ί
  2. Removing all the files in your current svnweb directory. All of them. Gone. That's the point.
  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. Buckle up, we're going version by version. 🌈


πŸŽ€ 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, which means every template that contains a path has changed. 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. No shortcuts, bestie. πŸ™ˆ

🌸 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. New template just dropped. πŸŽ€

  • 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 πŸ’œ

The diffs are:

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.

πŸ“ 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. A rare quiet era. Enjoy it. 😌

🌺 0.44 to 0.45 🌺

This was a bug fix release, with no changes to the templates, localisation, or configuration files. Again. Peaceful. ✨

🌈 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

Okay so after you install the new module, bestie, you gotta copy lib/Templates/trac/header over to <dir>/template/trac/header β€” and <dir> here is literally the directory where you ran svnweb-install. Just that one move, no cap. πŸ’…


🌈 Anything < 0.40 to 0.40

The 0.40 release? Iconic. It came with sweeping changes to the templates plus additional functionality plus new configuration directives, which is a whole lot of glow-up all at once, honestly. Peep CHANGES for the details, fr fr. πŸ‘‘

The simplest approach β€” and the one you want β€” is to back up your existing config.yaml first, and then re-run svnweb-install. That's gonna generate a brand-new config.yaml for you and copy over the new templates and all the other files too. ✨

Migrating your old configuration directives over to the new configuration file should be easy, so don't stress, you got this. 🫢


And that's a wrap on UPDATING(3pm)! This one came from the perl v5.40.1 source, dated 2025-04-09 πŸ’– go forth and upgrade responsibly, bestie 🌸

πŸ“¦ where this page comes from