Hi list,

Repository names and toplevel entries in the default repository may be identical and hence may conflict. IIRC, an early design decision was that a toplevel entry in the default repository will always have priority over a repository name, for backward compatibility reasons. That way, old source: links should continue to work as they used to. This would also give you a strong incentive to avoid such name clashes, otherwise you won't be able to browse the repository with the conflicting name.

I'm not sure if the previous behavior was ever implemented, but the current behavior is the opposite: repository names take precedence, so browsing the named repository work and all seem fine except when trying to browse the identically named toplevel entry in the default repository, which then leads you inside the named repository.

The question is, should we fix that now, knowing this will have some performance cost, as we need to know about the toplevel entries of the default repository, or can we leave things as they are?

Not sure if the above is clear, so let's sum that up on an example:

  Default repository toplevel entries: "apps/" "libs/" ...
  Named repository: "libs" ....

Currently: `source:libs/base` points to "base/" toplevel entry in the "libs" repository. Alternative: `source:libs/base` should point to path "libs/base" in the default repository "", as it used to.

Maybe the solution would be to check for such conflicts when doing a "repository add" and a "repository list", and issue a warning when one is found?

-- Christian

--
You received this message because you are subscribed to the Google Groups "Trac 
Development" 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-dev?hl=en.

Reply via email to