rsync push method: plan of attack

Jeroen Coumans jeroen at
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 

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.

Jeroen Coumans

More information about the website mailing list