Hi,

On Fri, Feb 08, 2013 at 03:45:29PM +0100, Stefan Sperling wrote:
> I cannot tell you what happened here and why the revisions in the
> mirro are empty. That sure is concerning.
> 
> However there are known race conditions in svnsync in Subversion 1.6.
> See http://subversion.apache.org/docs/release-notes/1.7.html#atomic-revprops
> 
> So you should definitely wrap svnsync in a tool like lockfile (part of
> procmail), or upgrade to 1.7.

Note that directory creation/removal are the only FS mechanism which is
guaranteed to be atomic, on UNIX (POSIX?) at least.
Thus if lockfile isn't available/installable, as a manual mechanism
you could fetch a tempfile name (obviously to be globally used by *all*
svnsync script users!), and use that name to create a directory,
run svnsync on success and then remove it.
(or probably better use a static GUID value in the directory name)

Be careful about "solutions" other than lockfile - some of these appear to be
terribly unsafe (some newer Ubuntu-introduced "atomic locking" package
comes to mind - which then executes anyway after a measly timeout!).

Andreas Mohr

Reply via email to