close
Warning:
Error with navigation contributor "LoginModule"
- Timestamp:
-
Apr 26, 2012, 4:07:51 PM (14 years ago)
- Author:
-
trac
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
|
v2
|
v3
|
|
| 1 | 1 | = Upgrade Instructions = |
| 2 | 2 | [[TracGuideToc]] |
| | 3 | [[PageOutline(2-3,,inline,unnumbered)]] |
| 3 | 4 | |
| 4 | 5 | == Instructions == |
| … |
… |
|
| 6 | 7 | Typically, there are seven steps involved in upgrading to a newer version of Trac: |
| 7 | 8 | |
| 8 | | === 1. Update the Trac Code === #UpdatetheTracCode |
| | 9 | === 1. Bring your server off-line |
| | 10 | |
| | 11 | It is not a good idea to update a running server: the server processes may have parts of the current packages cached in memory, and updating the code will likely trigger [#ZipImportError internal errors]. |
| | 12 | |
| | 13 | === 2. Update the Trac Code === #UpdatetheTracCode |
| 9 | 14 | |
| 10 | 15 | Get the new version as described in TracInstall, or your operating system specific procedure. |
| … |
… |
|
| 28 | 33 | This cleanup is not mandatory, but makes it easier to troubleshoot issues later on, as you won't waste your time looking at code or templates from a previous release that are not being used anymore... As usual, make a backup before actually deleting things. |
| 29 | 34 | |
| 30 | | === 2. Upgrade the Trac Environment === #UpgradetheTracEnvironment |
| | 35 | === 3. Upgrade the Trac Environment === #UpgradetheTracEnvironment |
| 31 | 36 | |
| 32 | 37 | Environment upgrades are not necessary for minor version releases unless otherwise noted. |
| … |
… |
|
| 45 | 50 | }}} |
| 46 | 51 | |
| 47 | | === 3. Update the Trac Documentation === #UpdatetheTracDocumentation |
| | 52 | === 4. Update the Trac Documentation === #UpdatetheTracDocumentation |
| 48 | 53 | |
| 49 | 54 | Every [TracEnvironment Trac environment] includes a copy of the Trac documentation for the installed version. As you probably want to keep the included documentation in sync with the installed version of Trac, [TracAdmin trac-admin] provides a command to upgrade the documentation: |
| … |
… |
|
| 54 | 59 | Note that this procedure will leave your `WikiStart` page intact. |
| 55 | 60 | |
| 56 | | === 4. Resynchronize the Trac Environment Against the Source Code Repository === |
| 57 | | |
| 58 | | Each [TracEnvironment Trac environment] must be resynchronized against the source code repository in order to avoid errors such as "[http://trac.edgewall.org/ticket/6120 No changeset ??? in the repository]" while browsing the source through the Trac interface: |
| 59 | | |
| 60 | | {{{ |
| 61 | | trac-admin /path/to/projenv repository resync '*' |
| 62 | | }}} |
| 63 | 61 | |
| 64 | 62 | === 5. Refresh static resources === |
| … |
… |
|
| 70 | 68 | this will extract static resources and CGI scripts (`trac.wsgi`, etc) from new Trac version and its plugins into `/deploy/path`. |
| 71 | 69 | |
| 72 | | Some web browsers cache CSS and Javascript files persistently, so you may need to instruct your users to manually erase the contents of their browser's cache. |
| | 70 | Some web browsers (IE, Opera) cache CSS and Javascript files aggressively, so you may need to instruct your users to manually erase the contents of their browser's cache, a forced refreshed (`<F5>`) should be enough. |
| | 71 | {{{#!comment |
| | 72 | Remove above note once #9936 is fixed. |
| | 73 | }}} |
| 73 | 74 | |
| 74 | 75 | === 6. Steps specific to a given Trac version === |
| 75 | 76 | ==== Upgrading from Trac 0.11 to Trac 0.12 ==== |
| | 77 | |
| 76 | 78 | ===== Python 2.3 no longer supported ===== |
| 77 | 79 | The minimum supported version of python is now 2.4 |
| … |
… |
|
| 87 | 89 | |
| 88 | 90 | This may be of interest to users with only one repository, since there's now a way to avoid the potentially costly resync check at every request. |
| | 91 | |
| | 92 | ===== Resynchronize the Trac Environment Against the Source Code Repository ===== |
| | 93 | |
| | 94 | Each [TracEnvironment Trac environment] must be resynchronized against the source code repository in order to avoid errors such as "[http://trac.edgewall.org/ticket/6120 No changeset ??? in the repository]" while browsing the source through the Trac interface: |
| | 95 | |
| | 96 | {{{ |
| | 97 | trac-admin /path/to/projenv repository resync '*' |
| | 98 | }}} |
| 89 | 99 | |
| 90 | 100 | ===== Improved repository synchronization ===== |
| … |
… |
|
| 127 | 137 | == Known Issues == |
| 128 | 138 | |
| 129 | | === parent dir === |
| 130 | | If you use a trac parent env configuration and one of the plugins in one child does not work, none of the children work. |
| | 139 | Things you should pay attention to, while upgrading. |
| | 140 | |
| | 141 | === Customized Templates |
| | 142 | |
| | 143 | Trac supports customization of its Genshi templates by placing copies of the templates in the `<env>/templates` folder of your [TracEnvironment environment] or in a common location specified in the [[TracIni#GlobalConfiguration| [inherit] templates_dir]] configuration setting. If you choose to do so, be wary that you will need to repeat your changes manually on a copy of the new templates when you upgrade to a new release of Trac (even a minor one), as the templates will likely evolve. So keep a diff around ;-) |
| | 144 | |
| | 145 | The preferred way to perform TracInterfaceCustomization is to write a custom plugin doing an appropriate `ITemplateStreamFilter` transformation, as this is more robust in case of changes: we usually won't modify element `id`s or change CSS `class`es, and if we have to do so, this will be documented in the TracDev/ApiChanges pages. |
| | 146 | |
| | 147 | === !ZipImportError === |
| | 148 | |
| | 149 | Due to internal caching of zipped packages, whenever the content of the packages change on disk, the in-memory zip index will no longer match and you'll get irrecoverable !ZipImportError errors. Better anticipate and bring your server down for maintenance before upgrading. |
| | 150 | See [trac:#7014] for details. |
| 131 | 151 | |
| 132 | 152 | === Wiki Upgrade === |
| … |
… |
|
| 137 | 157 | A known issue in some versions of PySqlite (2.5.2-2.5.4) prevents the trac-admin upgrade script from successfully upgrading the database format. It is advised to use either a newer or older version of the sqlite python bindings to avoid this error. For more details see ticket [trac:#9434]. |
| 138 | 158 | |
| 139 | | == Upgrading Python == |
| | 159 | === parent dir === |
| | 160 | If you use a trac parent env configuration and one of the plugins in one child does not work, none of the children work. |
| | 161 | |
| | 162 | == Related topics |
| | 163 | |
| | 164 | === Upgrading Python === |
| 140 | 165 | |
| 141 | 166 | Upgrading Python to a newer version will require reinstallation of Python packages: Trac of course; also [http://pypi.python.org/pypi/setuptools easy_install], if you've been using that. Assuming you're using Subversion, you'll also need to upgrade the Python bindings for svn. |
| 142 | 167 | |
| 143 | | === Windows and Python 2.6 === |
| | 168 | ==== Windows and Python 2.6 ==== |
| 144 | 169 | |
| 145 | | If you've been using !CollabNet's Subversion package, you may need to uninstall that in favor of [http://alagazam.net/ Algazam], which has the Python bindings readily available (see TracSubversion). The good news is, that works with no tweaking. |
| | 170 | If you've been using !CollabNet's Subversion package, you may need to uninstall that in favor of [http://alagazam.net/ Alagazam], which has the Python bindings readily available (see TracSubversion). The good news is, that works with no tweaking. |
| 146 | 171 | |
| 147 | | == Changing Database Backend == |
| 148 | | === SQLite to PostgreSQL === |
| | 172 | === Changing Database Backend === |
| | 173 | ==== SQLite to PostgreSQL ==== |
| 149 | 174 | |
| 150 | 175 | The [http://trac-hacks.org/wiki/SqliteToPgScript sqlite2pg] script on [http://trac-hacks.org trac-hacks.org] has been written to assist in migrating a SQLite database to a PostgreSQL database |
| 151 | 176 | |
| 152 | | == Older Versions == |
| | 177 | === Upgrading from older versions of Trac === #OlderVersions |
| 153 | 178 | |
| 154 | 179 | For upgrades from versions older than Trac 0.10, refer first to [trac:wiki:0.10/TracUpgrade#SpecificVersions]. |