rsync push method: plan of attack

Kevin P. Fleming kpfleming at
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 mailing list