Assuming you got Tiki via SVN, you can easily update using:

What version am I running?

svn info


Or you can check in tiki-admin.php?page=general

Files

If you got your check out before 2012-12-12

Update from SVN pre 2013

Check status (svn status)

To check for differences between your code base and the official one
svn status

Minor upgrade (svn up)

Upgrade all your files to the latest version on the current branch (Ex.: from 6.x to 6.y) or latest version of trunk.

Files, directly

svn up

Update to a specific revision

svn update -r 43705


This can be used to downgrade as well. But keep in mind that your database structure can't be automatically downgraded. Database structure typically doesn't change much between minor revisions.

Files, via script

svn up


Will output the current revision number. See Module SVNup to show version within Tiki.


This can be on a cron job.

Major upgrade (svn switch)

You can upgrade from 2.x to any later version, in one step. All data migration files are included in each version. For example, from 4.x->7.x, 2.x->6.x, etc.

This is when you switch from one branch to another. When you switch (especially from an old version), you will perhaps get an error message about some directories or files that were not previously in version control (ex.: templates_c). This could be "svn: Working copy 'temp/cache' is missing or not locked". If these are directories that you didn't customize (very likely), you can simply delete them and try again. Otherwise, rename them, and you can manually merge your changes back in later. This is caused because we reorganized the code.

Here is a typical error and how to resolve

svn: Failed to add directory 'lib/jquery/jquery-ui': an unversioned directory of the same name already exists

Delete problematic directory

rm -rf lib/jquery/jquery-ui

and run svn update again

svn update

switch to branches/12.x

Go to where the Tiki code is and run the following commands
svn switch https://svn.code.sf.net/p/tikiwiki/code/branches/12.x .
svn up

switch to branches/15.x

Go to where the Tiki code is and run the following commands
svn switch https://svn.code.sf.net/p/tikiwiki/code/branches/15.x .
svn up

switch to branches/17.x

Go to where the Tiki code is and run the following commands
svn switch https://svn.code.sf.net/p/tikiwiki/code/branches/17.x .
svn up

Note : When switching from a from 16x to 17x some error caused by changes in the way Tiki set or handle Composer may occurs.
You may have to delete caches or some files from previous install.

IE:

Fatal error: Uncaught exception 'Symfony\Component\DependencyInjection\Exception\InvalidArgumentException' with message 'You cannot set service "service_container".'

Is solved by deleting : temp/cache/container.php

switch to branches/18.x

Please note: SVN updates (for all versions of Tiki) will stop in January 2023 when Tiki18 reaches end of life, so you should get your updates from Git

Go to where the Tiki code is and run the following commands
svn switch https://svn.code.sf.net/p/tikiwiki/code/branches/18.x .
svn up

switch to branches/21.x

Please note: SVN updates (for all versions of Tiki) will stop in January 2023 when Tiki18 reaches end of life, so you should get your updates from Git

Go to where the Tiki code is and run the following commands
svn switch https://svn.code.sf.net/p/tikiwiki/code/branches/21.x .
svn up

switch to trunk (the next major version)

Please note: SVN updates (for all versions of Tiki) will stop in January 2023 when Tiki18 reaches end of life, so you should get your updates from Git

Go to where the Tiki code is and run the following commands
svn switch https://svn.code.sf.net/p/tikiwiki/code/trunk .
svn up

switch to a specific version

Go to where the Tiki code is and run the following commands
svn switch https://svn.code.sf.net/p/tikiwiki/code/tags/6.4/ .


Update file and permissions & database

sh setup.sh


This can be on a cron job, if you indicate the user & group params.

php console.php database:upgrade


If there have been database changes, you need to run this. There are always database changes between major versions (6.x -> 7.x) and sometimes in minor versions (6.x -> 6.y). To know if you have to update the database for a minor upgrade, just visit tiki-admin.php and see if there is a warning.

This can be on a cron job.


There is no database downgrade so make a backup before you proceed.

.htaccess

Upon install, _htaccess must be renamed .htaccess
Because of this, svn up doesn't keep it up to date.
To see if there was a change, you can do:

diff _htaccess .htaccess


If there is a difference, you can delete .htaccess and rename _htaccess to .htaccess

Clear cache

From web, visit tiki-admin_system.php?do=all

php console.php cache:clear

Update search index

  • tiki-admin.php?page=search&rebuild=now

Combine all steps in one

php doc/devtools/svnup.php

Also see

Alias