rsync push method: plan of attack
Kevin P. Fleming
kpfleming at linuxfromscratch.org
Mon Aug 2 19:50:13 PDT 2004
Anderson Lizardo wrote:
> A solution for the last mentioned problem would be a push method for rsync.
> Every time a change is made to the repository, the post-commit hook script
> updates the affected files accordingly, and then iterates through each
> mirror, "pushing" the changes to them. If some mirror does not seem to
I have a concern here: is this process going to run as part of the
commit itself? For example, if an editor does "svn commit" to send their
changes to the website, behind the scenes it opens an ssh connection and
runs "svn" on belgarath to do the dirty work.
If this post-commit hook is actually going to run as part of that "svn"
process, then the editor doing the commit is going to be waiting for the
entire post-commit hook process to finish. If that process involves
running repeated rsyncs to mirror servers, some of which may not be
responding, they could be waiting a _long_ time.
Also, will the SVN repo be locked during the entire time this hook runs?
That could also be a problem.
However, if the post-commit hook can somehow trigger an asynchronous
process to do the rsync, that would solve the problem. That's harder to
code, though, and a lot harder to manage.
I'm not trying to be pessimistic, I'd love to see this work. I'm just
trying to head off any major disasters :-)
More information about the website