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

Re: Support for ambiguous URLs (was: Crash in TSVN during Show Log)

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Thu, 20 Mar 2008 22:24:16 +0100

Stefan.Fuhrmann_at_etas.com wrote:
> Hi,
>
> I just committed a possible solution to the svnbridge issue.
> The user must activate the "support ambiguous URLs" setting
> to tell TSVN that different repositories may be accessed
> sequentially through the same repository URL.
>
> Because I'm not sure that this will actually solve the svnbrigde
> issues, I didn't want to dive to far into the guts of the repository
> cache list code. Therefore, the current implementation will have
> the following two drawbacks if that setting is activated:
>
> * increased delay until the log gets shown
> (about 1 sec on a low latency network)
> * no off-line access to the log
> (TSVN should not show the "Go Off-line?" dialog)
>
> I think this is acceptable for the svnbridge use-case for now.
> Please let me know if it solved your issues. If that is the case,
> the code can be reworked to eliminate most of the limitations.

There's another (small) problem if multiple repositories have the same
URL, and that problem is inside Subversion: a checked our working copy
also has that URL assigned.
Subversion uses that URL internally for some working copy operations
(i.e., copy/move, and I think some others too). Now, as long as the
users know which working copies are from which repository, that should
not be a problem. But with nested layouts (one working copy folder from
repo A inside a working copy folder from repo B) this could get nasty.
Because Subversion could then not see that these working copies belong
to different repositories (FYI: not all working copies have the
repository UUID saved - the UUID is usually only used for direct repo
access, not for working copy operations). That means users you do an
svn cp wcfromRepoA\wcfromRepoB\file wcfromRepoA\file
Yes, that's also possible with different URLs, but if those have the
same URLs then Subversion won't notice this even when committing (now,
the commit will fail).

So I suggest a change to SvnBridge:
instead of connecting to http://localhost:8081/Projectname, have the
users connect to http://localhost:8081/server.com/Projectname - that way
the URLs will not be the same for all servers, and it will prevent a lot
of subtle problems.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net

Received on 2008-03-20 22:24:35 CET

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.