This Trac plugin allows you to synchronize wiki pages between to separate Trac installations.
A common use case is to install a local Trac project on your workstation and synchronize the wiki pages with your remote Trac server. This allows you to bring the wiki content offline, or edit the content locally before batch updating to the remote server (useful when working over slow Internet/VPN connections).
Supports various type of synchronization states:
MODIFED: Local page has been modified and will be updated to the remote server
NEW: Local page is new and will be updated to the remote server
OUTDATED: Remote page has been modified and will be copied from the remote server
MISSING: Remote page exists and will be copied from the remote server
CONFLICT: Both local and remote pages have been modified, you can choose to either update to or copy from the remote server
SYNCED: Both local and remote pages are identitical
IGNORED: Skip these pages during synchronization
POSTmethods for synchronization, no other Trac plugins required
Supports batch synchronization
- Implement attachment synchronization
Trac 0.12 >=
Python 2.6 >=
$ pip install trac ... $ pip install TracWikiSync-xxx.zip
Create a new Trac environment
$ trac-admin /path/to/myproject initenv $ trac-admin /path/to/myproject permission add admin TRAC_ADMIN $ htdigest -c /path/to/myproject/.htpasswd myproject admin ...
Enable the plugin by adding the following lines in
[components] wikisync.* = enabled
Upgrade the Trac environment
$ trac-admin /path/to/myproject upgrade ...
$ tracd --port=8080 \ --auth=*,/path/to/myproject/.htpasswd,myproject \ /path/to/myproject
Trac users require the following permissions:
TRAC_ADMIN: To configure the remote server information in the admin panels
WIKI_ADMIN: To perform synchronization
Please use Issues
- v0.1: Initial release.
- Bugfix: UNKNOWN status is now correctly detected as NEW for new wiki
- Bugfix: Fixed NoneType pointer error when new wiki is created
- Added LICENSE (better late than never)
- Bugfix: Fixed edge case where local/remote wiki is deleted and re-added, causing the synced version to be higher than actual version. Such cases will be marked as conflict.
- Bugfix: Fixed bug where empty remote wiki page throws Invalid local_version exception.