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

RE: Re: SVN Update/Commit Concurrency

From: Daniel Becroft <Daniel.Becroft_at_supercorp.com.au>
Date: Fri, 11 Jan 2008 08:50:58 +1000

> -----Original Message-----
> From: Ulrich Eckhardt [mailto:eckhardt_at_satorlaser.com]
> Sent: Thursday, 10 January 2008 7:30 PM
> To: users_at_subversion.tigris.org
> Subject: Re: SVN Update/Commit Concurrency
> Note up front: I didn't actually look at the sources, so I
> might be wrong.
> On Thursday 10 January 2008, Daniel Becroft wrote:
> > What is the method that SVN uses to control commits that
> happen during
> > another user's update?
> >
> > For example, in the following scenario:
> >
> > 1. [UserA] svn update (HEAD is 100).
> > 2. [UserB] svn commit (HEAD is 101) - happens while
> UserA's update is
> > happening
> >
> > When UserA's update has completed, will the working copy
> revision number be
> > 100, or 101?
> It will be 100.
> > I'm guessing that the first thing that the 'svn update'
> would do is to get
> > the HEAD revision and store that, so it becomes a 'svn
> update --revision
> > 100' command?
> Right. The first thing is probably that it determines the
> head revision. From
> then on, even if the head revision changes, the revision
> itself doesn't (they
> are treated as almost immutable) so these changes don't
> affect the ongoing
> read operation.
> > I've attempted to replicate this situation without success
> - I can't seem
> > to make UserA's update go long enough.
> Throttle the network. ;)
> Just wondering, but what do you need this info for?
> Uli

THanks, Uli.

We are integrating SVN into our change management system. Each commit will schedule an update of the cross-reference information
that we keep. Now, because regenerating this x-ref information can take, potentially, between 30 minutes and 1 hour to complete over
the entire code base, we only want to do it on what has changed.

Now, the other problem that we had was that we have 'include' files, which are expanding at compile time (similar to C header file, I believe).
We use the previous X-ref run, and the changed file list, to determine which files actually need recompilation and scanning.

I just wanted to find out the above information before I went forward with the implementation. I wasn't sure if I was going to need to
implement a mutex to pause any commits whilst the x-ref's 'svn update' command is being executed or not. The answer is now, I don't.

Daniel B.

To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-01-10 23:53:44 CET

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.