Enables powerful automation from a subversion repository.
Project description
Welcome to svnpublish, a tool to enable automated publishing (and any other arbitrary commands to be executed) when updates are made to a subversion version control repository.
Publishing configurations are tied to either the entire repository or restricted to subdirectories, referred to as a publishing point in svnpublish-speak.
TL;DR
Install:
$ pip install svnpublish
$ mkdir -p /etc/svnpublish
$ svnpublish --init-options > /etc/svnpublish/myrepos.yaml
# edit the configuration file
$ vi /etc/svnpublish/myrepos.yaml
Put in your REPOSITORY/hooks/post-commit:
#!/bin/sh
svnpublish --options /etc/svnpublish/myrepos.yaml "$@"
If running in asynchronous mode:
TODO: show example of getting svnpublishd running
Overview
TODO: add docs
Global Configuration
The best way to set the initial svnpublish options is to use the --init-options flag, which outputs a list of all available options accompanied with documentation. The recommended approach is to create a per-repository configuration in /etc/svnpublish/ which can be done as follows:
$ sudo mkdir -p /etc/svnpublish
$ svnpublish --init-options | sudo tee /etc/svnpublish/REPOSITORY.yaml > /dev/null
$ sudo vi /etc/svnpublish/REPOSITORY.yaml
And then modifying all of the options as needed. At a minimum, the following options should be set:
admin
label
name
reposUrl
genemail.default.headers.from
Publishing Point Configuration
TODO: add docs
publish:
ENGINE:
ATTRIBUTE: VALUE
Example:
publish:
# send an email notification
- engine: email
mailfrom: noreply@example.com
recipients:
- user1@example.com
- user2@example.com
# update an RSS (atom) feed
- engine: rss
window: 50
label: Repository Feed
output: /var/www/rss/output.xml
feedUrl: https://svn.example.com/rss/output.xml
# export the repository to the file system
- engine: export
path: /var/www/example.com
fixate:
- { engine: fingerprint }
- { engine: fingerprint, path: htdocs/fingerprint }
# export the repository to a remote host
- engine: export
remote: svnpublish@example.com
keychain: /home/svnpublish/.keychain
path: /var/www/example.com
fixate:
- { engine: fingerprint }
- { engine: fingerprint, path: htdocs/fingerprint }
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file svnpublish-2.0.0.tar.gz
.
File metadata
- Download URL: svnpublish-2.0.0.tar.gz
- Upload date:
- Size: 40.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f62d577ce36d39e552f43c9aae76767208bece6d2f7c7256e286c8ee0d80c910 |
|
MD5 | 6984072ec076f3ba9a993d6bb6e61c21 |
|
BLAKE2b-256 | ed3df751506436f7492a1582061429c18ba241ca338a50e42ecd4e84724f1588 |