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

Re: Recognising repositories

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Wed, 16 Jun 2010 22:22:46 +0200

On 16.06.2010 22:12, Jean-Marc van Leerdam wrote:
> Hi Steve (et al.),
>
> I noticed the following in a recent commit message (19716):
>
> '* instead of the uuid, use the repo root url to distinguish between
> repositories'

That's needed since the uuid is no longer returned in an
svn_client_status() call.

> That reminded me of something I recently ran into: I have a couple of
> working copies from the same repository on my local drive (trunk, a
> production branch and some 'external' references). Most of these are
> checkouts from a local hostname (something.intranet). But some are
> checkouts based on IP address (192.168.x.y), created at a time when my
> local DNS server was acting up.
>
> As it turns out, doing a svn-copy via right-drag failed when done from
> a hostname based working copy to an IP based working copy, with an
> error message indicating that the target was not part of the same
> repository. Is that expected?

Yes, that's an error from the svn library. When copying, svn adjusts the
urls of the files. And that of course only works if the repo root url is
the same.

> I fixed it by relocating the IP WC to the hostname, but if I interpret
> the commit message the UUID check should have worked?!?

No, it wouldn't have worked either.

TSVN uses the uuid (or the repo root url now) to distinguish the working
copy folders when showing the status info in the CfM dialog. All those
with a differen uuid/repo-root-url are considered to be from another
repository and will show up in another list-group, and can't be checked
in the commit dialog.

And it also uses that info when doing an update of multiple items: if
all items marked for an update have the same uuid/repo-root-url, then
they're all updated to the same revision. Then they're all updated to
the rev specified (usually HEAD).
The reason for this check is to avoid updating multiple items to
different revisions, in case someone makes a commit between the updates.
Otherwise, if you update e.g. 100 selected files separately and all
would update to HEAD, if someone does a commit while the update is only
at file 50, all further files would also update to HEAD but HEAD now has
changed.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=2622615
To unsubscribe from this discussion, e-mail: [dev-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2010-06-16 22:23:07 CEST

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

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