multiuser rsync environment

Matthias Schniedermeyer ms at
Thu Dec 10 04:33:21 MST 2009

On 10.12.2009 11:54, Angel Spassov wrote:
> Dear List, 
> I am looking for a solution of the following issue. 
> We are two users managing our homepage through subversion
> in order to synchronize each others work. 
> We upload everything to the server via the following command in rsync:
> rsync -avzt --exclude ".svn" --exclude "*~" -e ssh .  webserver at
> Everything works just fine except of one annoying issue. 
> rsync synchronizes everything when the person between two uploads change.
> So if my colleague made the last change to the server, 
> the next time I am rsync-ing everything needs to be synchronized again 
> (which is of course expected, but still annoying).
> Is there some elegant option to combine subversion + rsync in a wiser way
> in order to upload only the changes with altering users?

This is an issue with most SCM-Systems,

The mtime of the files are NOT kept in sync by subversion and differ 
between the 2 different working copies you use.

What you can do is periodically rsync back the files from the webserver 
and/or directly between the different working copies, so that the mtimes 
are synchronized. Then only the mtimes of the files updated via 
subversion after the last sync are off.
Cautin: Only do that when working has no pending changes and be extra 
careful not to overwrite/kill the .svn-directories!

Or, when the the amount of data is relativly small just use "-c". 
Depending on amount of data that takes some extra time when the 
buffer-cache on either side is cold.

Or, (most "risky") just ignore mtimes '--ignore-times'.

Bis denn

Real Programmers consider "what you see is what you get" to be just as 
bad a concept in Text Editors as it is in women. No, the Real Programmer
wants a "you asked for it, you got it" text editor -- complicated, 
cryptic, powerful, unforgiving, dangerous.

More information about the rsync mailing list