[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: Are Updates and Checkouts also atomic?

From: Noah Spurrier <NoahS_at_SHARECHIVE.com>
Date: 2005-05-19 23:59:38 CEST

-----Original Message-----
> From: Michael Melanson [mailto:michael@interglobal.ca]
> Sent: Thursday, May 19, 2005 12:54 PM
> To: Noah Spurrier
> Subject: RE: Are Updates and Checkouts also atomic?
> Have you considered using rsync? It's designed for purposes like what you
> just described.
> --
> Michael Melanson
> .NET Programmer, InterGlobal Solutions
> michael@interglobal.ca

But rsync isn't atomic (at least, I don't think so).
If you rsync a bunch of files and kill the
connection after half the files have been
copied you will end up with half the files
updated and half in the old state... I know
it's atomic PER FILE, but not atomic over
a set of files.

I could be wrong. We did consider rsync.
We thought of building a tar-ball; rsyncing that;
then opening the tar-ball on the client side.
Rsync would make sure that the transfer is atomic.
The disadvantage is that you would almost
always have to transmit the entire tar-ball even
if only a few files change. I know rsync
is supposed to do some sort of binary diff
to help with this, but my experience has
been that this isn't very effective.
Hmm... now that I think about this again I think
maybe I should test this more. It is highly likely
that my low opinion of rsync binary diff is
due to my experience with rsyncing compressed
binaries where small changes in the original
file usually yield very different compressed
output files -- thus causing rsync to copy
the entire file... A tar-ball does not have
to be compressed. Small changes in files in a
set will probably yield similar tar files.

Often times after restating the problem
you realize you are trying to solve the wrong problem.

Yours,
Noah Spurrier

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri May 20 00:01:28 2005

This is an archived mail posted to the Subversion Users mailing list.