On 1/5/2010 4:31 PM, Roger Oberholtzer wrote:
On Tue, 2010-01-05 at 10:52 +0100, Christian Boos wrote:

On 1/5/2010 9:17 AM, Roger Oberholtzer wrote:

...

I do not have any external stuff set up in my trac config. Instead, as I
use the multirepos release, I have a [repositories] section with all the
external repos listed.



Well, you need to tell Trac how the svn URLs should be mapped to URLs in
a Trac source browser (or any other source browser for that matter), as
there's no way it could figure that information by itself.

What's not clear in
http://trac.edgewall.org/wiki/TracIni#svn:externals-section ?

Well, it never really worked as expected. I have tried again with:

[svn:externals]
1 = http://sto-opq-src.scc.se/svn http://www.opq.se/rsoft/browser/$path

An example external is now listed as:

PIAFmisc in http://sto-opq-src.scc.se/svn

Which seems to be what it is. The URL generated is
http://www.opq.se/rsoft/browser/PIAFmisc


All those are private or protected URLs, so I can't test...

But that configuration says that you must have a PIAFmisc folder reachable at:
http://sto-opq-src.scc.se/svn/PIAFmisc

When you go on http://www.opq.se/rsoft/browser, are you actually browsing that repository? In which case you should see an PIAFmisc entry, and there's no reason the above link wouldn't work.
Maybe that Trac is set up to browse another repository...

However, I get this error when I follow that link:

        No node PIAFmisc at revision 3

I have a number of externals, and all give the same complaint about
revision 3. I did have ?rev=$rev in the svn:externals, but that made no
difference.

In fact, all this looks odd to me. The svn externals tell the location
of the svn repository. So I do not need to tell trac that. Given that it
knows where the stuff is in the svn repo, what am I really telling it
here? Surely not where to fine something - it already knows that.


It could work if the svn:externals were not really external but point somewhere else in the same repository... but as it's not a very common situation, this optimization was not implemented (and you would do this with relative 1.5 style links anyway... unfortunately those are not yet supported in Trac).

I believe your misunderstanding comes from the fact that you assume that a Trac repository browser can work as soon as it is given the URL to a repository. But that's not the case, we don't access the svn repositories via URLs (or more technically, using the svn_ra layer), but directly via the filesystem (using svn_repos and svn_fs layers). See #493 for understanding why.

So you need to map a given svn URL to a Trac (or another source browser) that is configured to browse /that/ repository. In Trac, the configuration is the directory containing the svn repository, and from that, there's no way to infer the URL(s) by which this repository is reachable (or conversely, from an URL, we can't know the location of the repository in the filesystem). That's why we need this mapping.

In the first mail in this thread, I mentioned the possibility to reuse the repository URL information if it is given (see #1781), but that's for 0.12-multirepos only and yet to be done...

So, I am still confused about externals.



Yes, but I hope the above helped ;-)

-- Christian


-- 
You received this message because you are subscribed to the Google Groups "Trac 
Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/trac-users?hl=en.


Reply via email to