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

Re: Checkout and update atomicity

From: Matthias Wächter <matthias.waechter_at_tttech.com>
Date: 2005-10-18 09:21:38 CEST

>> What happens if I select a couple of files/directories in the explorer
>> and then apply "SVN Update..." - the dialog shows some consecutive
>> updates each finishing with "Completed At revision: xxxxx". I'm not
>> sure whether "xxxxx" is the same for each of these entries, but for me
>> it looks like these are sequential update operations each requesting
>> the HEAD revision.
> That's exactly the case Simon mentioned. If you do that with the CL
> client, it updates all items to HEAD individually. Which means that
> the first item updated may have a lower revision than the last item
> updated if there was a commit from someone else in between.

I'm really puzzled! Using the CL: If I enter "svn update a* subdir/" to
only update all files starting with 'a' in the current directory and the
directory subdir/ it updates these files and _after_ the file list it
reports _one_ repository revision it updated to. I don't see why this
should not be atomic (in the sense of HEAD resolution to not more than
one repository number).

> TSVN on the other hand first checks if all entries are from the same
> repository. And if they are (I guess that will be the case in 99%) then
> TSVN first asks the repository what revision number HEAD currently is
> at, then updates to that revision number, not HEAD. Because as
> mentioned, HEAD can change in between the consecutive updates.

Of course this will be the case in 99+% - but we talk about the 'rare
cases' here.

In TSVN if I select all files starting with "a" and select subdir/ as
well, right-mouse-clicking and selecting "SVN Update..." it reports one
revision number for each of the selected items (one for each file
starting with "a" and one for the subdir/).

OK, if TSVN really first asks for the HEAD revision this will work out
anyway, but again, I can't see why SVN shouldn't be atomic - I thought
that's one of its strenghts compared to CVS where you are never sure
where you 'cut' the revision tree of each file when you update or checkout.

> Updates are never atomic in the real sense. Atomic would mean if an
> update gets interrupted, that already updated files would get reverted
> to the stage they were before, but that doesn't happen.

Well, true. I considered the case that it is not interrupted.

>> If I'm right and it's not an atomic operation, TSVN should change ASAP
>> :-)
> With such comments you won't make much friends, neither here nor on the
> Subversion mailing list.

How many smilies do you need to understand the comments' intention?
Anyway, I didn't want to make any point against TSVN, I just wanted to
raise my concern.

I saw the explicit statement in the TSVN docs about updating multiple
files, so for TSVN it's no issue. Then maybe SVN CL should change ASAP?

- Matthias

To unsubscribe, e-mail: users-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: users-help@tortoisesvn.tigris.org

Received on Tue Oct 18 09:19:52 2005

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