<?xml version="1.0" encoding="UTF-8"?>
<wiki-page>
  <author>Dimitrij Denissenko</author>
  <content>You can use Retrospectiva together with remote repositories. This is a short HOWTO about setting-up Retrospectiva with a repository stored at Google-Code, GitHub, etc. Although Retrospectiva is generally incapable of handling remote repositories (remote requests simply take too long) it has the built-in ability to synchronise remote repositories (keeping a local copy).

h1. GIT

Let&#8217;s assume that the remote repository URL is git://github.com/dim/retrospectiva.git and the local repository is in /var/git/retrospectiva.

Clone the remote repository:
{{{
git clone git://github.com/dim/retrospectiva.git /var/git/retrospectiva
}}}

h1. Subversion

Let&#8217;s assume that the remote repository URL is http://retrospectiva.googlecode.com/svn and the local repository is in /var/svn/retrospectiva.

Create a new local repository by calling:
{{{
svnadmin create /var/svn/retrospectiva
}}}

To enable synchronization, enable the pre-revprop-change hook:
{{{
cat &lt;&lt;'EOF' &gt; /var/svn/retrospectiva/hooks/pre-revprop-change
#!/bin/sh
exit 0
EOF
}}}

Make it executable:
{{{
chmod +x /var/svn/retrospectiva/hooks/pre-revprop-change
}}}

Please note that this is a very basic approach, so please refer to the Subversion documentation if you have special requirements for your hooks.

Initialize the repository for remote synchronization:
{{{
svnsync init file:///var/svn/retrospectiva http://retrospectiva.googlecode.com/svn
}}}

h1. Automatic Synchronisation

Configure Retrospectiva to perform the synchronisation automatically

* Login as an admin
* Go to Admin/Setup/Repositories
* Select (or create your repository), point the path to your local repository location
* Apply sync callback:
** GIT: cd /path/to/repository &amp;&amp; /usr/bin/git-pull
** Subversion: /usr/bin/svnsync sync file:///path/to/local/repository
** Optionally you can also specify additional parameters (e.g. username/password options, etc.)
* Go to Admin/Tasks and make sure the interval for the Sync repositories task is set-up correctly

</content>
  <created-at type="datetime">2009-02-06T07:55:33+00:00</created-at>
  <title>Remote repositories</title>
  <updated-at type="datetime">2009-12-02T11:47:00+00:00</updated-at>
  <version type="integer">2</version>
</wiki-page>
