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

Non-atomicity of svn_client_update2() [was: new functions in 1.2]

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: 2005-02-27 23:30:36 CET

SteveKing wrote:
> svn_client_update2()
> --------------------
> "The paths in paths can be from multiple working copies from multiple
> repositories, but even if they all come from the same repository there
> is no guarantee that revision represented by svn_opt_revision_head will
> remain the same as each path is updated."

It would be good to remove that caveat. It's pretty horrible really.

> Why not just do what TSVN does now in such a case?
> - get the UID of the targets.
> - if all UID's are the same, fetch the HEAD revision
> - now update to that fetched HEAD revision (not HEAD but the specific
> revision).

I don't see much point in fixing just one case (all UIDs the same), even if
that is the most common case. We should fix it properly:

- Find all the different repositories of TARGETs.
- For each repository:
   - Find the HEAD revision of that repository.
   - Update all the TARGETs that are in that repository to that revision number.

Anyone fancy doing that (without making too many extra network round-trips)?

Are there other APIs that have a similar problem?

- Julian

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Feb 27 23:31:44 2005

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

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