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

Re: svn:externals and different access methods (svn: http:)

From: Konstantin Kolinko <knst.kolinko_at_gmail.com>
Date: Thu, 8 Mar 2012 13:13:28 +0400

2012/3/8 Jarle Jacobsen <jarle.jacobsen_at_gmail.com>:
> Hi,
>
> we are currently running subversion 1.7.3 and are using svnserve on
> the server (windows platform). We are using the distribution from
> Collabnet and now we want to switch to using the Subversion Edge
> config app and Apache web server. Because we have many users in
> different locations and a lot of build scripts/continues integration
> jobs, tools and utilities that use subversion we would like to switch
> from svn:// to http:// gradually by running both Apache and svnserve
> for a short period.
>
> We have several repositories and are using svn:exsternals to link
> projects both between repositories and within a repository. All
> repositories are on the same server.
>
> Lets say that we have the repositories Repo1 and Repo2 and they are
> running on the SrcServer.
>
> Accessing Repo1 will be done using svn://SrcServer/Repo1 or
> http://SrcServer/svn/Repo1 (the svn part is from the Location element
> created by Subversion Edge in httpd.conf). This works fine.
>
> When we link projects with svn:externals we use relative paths. For
> example we could link from a project in Repo1 to Proj1 also in Repo1
> using ^/Proj1. This also works fine the URL will be translated to
> svn://SrcServer/Repo1/Proj1 or http://SrcServer/svn/Repo1/Proj1.
>
> The problem occurs when we want to link to a project in a different
> repository. For example we could link from a project in Repo1 to Proj2
> in Repo2 using /Repo2/Proj2. The URL will be translated to
> svn://SrcServer/Repo2/Proj2 or http://SrcServer/Repo2/Proj2. The svn:
> URL is correct but the http: URL is missing the svn part.
>
> I can see 2 possible solutions to this:
> 1: Drop using svn: and http: at the same time and add the svn part to
> the relative URLs.when switching to http:.
> 2: hack the generated httpd.conf file and use a Location element
> without the svn part.
>
> I don't like any of these  solutions. Solution1 means doing a big bang
> that will be difficult to handle. I don't know if solution 2 is
> possible at all (never used Apache before). The Apache server is
> handling more than one application (like viewvc) and moving Subversion
> to the root doesn't sound like a good solution.
>
> Is there a way to use relative URLs so that linking between
> repositories on the same server will work for this case?
>
> Using the ^ subversion will add the svn part of the URL so it must
> know how to decode the different parts of the URL. Is this a bug in
> the handling of the / (relative to the root URL of the server) or
> should there be a syntax for saying relative to the repository parent
> path?

If you are in Repo1 then an external starting with "^/../Repo2/"
addresses the second repository.

Best regards,
Konstantin Kolinko
Received on 2012-03-08 10:14:07 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.