Edgewall Software

Changes between Initial Version and Version 1 of MultipleRepositorySupport


Ignore:
Timestamp:
Feb 3, 2008, 8:27:37 PM (16 years ago)
Author:
Christian Boos
Comment:

Introduction to the branch

Legend:

Unmodified
Added
Removed
Modified
  • MultipleRepositorySupport

    v1 v1  
     1= Multiple Repository Support for 0.12 =
     2
     3This branch adds support for accessing multiple repositories inside one Trac project.
     4
     5For now, there is support for the Mercurial (`hg`) and Subversion (`direct-svnfs`) type of repositories.
     6
     7See: log:sandbox/multirepos
     8
     9The approach is quite simple: beyond repository connectors, there's now repository providers (IRepositoryProvider components) which are responsible for make available a list of named repositories. That name can be arbitrary (in particular, it may contain '/' to denote a pseudo-hierarchy) and will be used as a prefix for any repository path.
     10Actually, a more complete description of the approach can be found in this mail: googlegroups:trac-users:14ca95377e4a53b5 One trac env for X repositories ?].
     11
     12If the only repository known is the default one (i.e. the one defined in TracIni, section `[trac] repository_...`), then Trac behaves exactly as before.
     13But `IRepositoryProvider` components can make other repositories available. In particular, the default `RepositoryManager` itself provides a list of repositories listed in a new `[repositories]` section in TracIni.
     14
     15
     16= TODO =
     17 - currently, a default repository ''needs'' to be defined, otherwise the versioncontrol modules are disabled
     18 - extend to cached repositories
     19 - IRepositoryProvider must have a way to signal new content, in order to rebuild the repository name cache