rsync push method: plan of attack

Jeroen Coumans jeroen at linuxfromscratch.org
Tue Aug 3 02:54:36 PDT 2004


Kevin P. Fleming said the following on 03-08-2004 04:50:
> 
> 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.

It's a valid concern. The repository is not locked (it never is), but 
the user will have to wait until the post-commit script is finished. If 
this takes long enough, the user will receive an HTTP timeout (at least, 
that's the case with Apache as repository server, but I assume svnserve 
has a similar timeout). It's default at one or two minutes, which may be 
too short. Adjusting it is only possible at the client side (again, I 
assume this is the same for Apache & svnserve).

If we have to take into account the following:
- any change, wether its on a Subversion file (HTML or TWiki) or a 
user-edited page in TWiki, should trigger an rsync
- mirrors may have long response time or synchronization time
- we want to dynamically filter out mirrors who return an error to our 
synchronization

Then I think an asyncrhonous rsync may be the best solution. IIRC Jeremy 
Huntwork already had ideas about this when he was testing out his mirror.

-- 
Groeten/Greetings,
Jeroen Coumans
{faq,website}@linuxfromscratch.org
www.jeroencoumans.nl



More information about the website mailing list