= Multiple Repository Support for 0.12 = This branch adds support for accessing multiple repositories inside one Trac project. For now, there is support for the Mercurial (`hg`) and Subversion (`direct-svnfs`) type of repositories. See: - log:sandbox/multirepos - log:sandbox/mercurial-plugin-0.12 Checkpoints: - r6465: initial "release" of the branch, ''worksforme'' - r6469: a few bug fixes The 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. Actually, a more complete description of the approach can be found in this mail: [googlegroups:trac-users:14ca95377e4a53b5 One trac env for X repositories ?]. If the only repository known is the default one (i.e. the one defined in TracIni, section `[trac] repository_...`), then Trac behaves exactly as before. But `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. See r6447 for more details. = TODO = - More [changeset:6448 IRepositoryProvider] components: - !HgForestRepositoryProvider, for providing forest repositories and all sub-repositories managed by each forest - !HgParentDirRepositoryProvider, for listing all the working copies present in a given folder - !SvnParentDirRepositoryProvider, for listing all the Subversion repositories present in a given folder - currently, a default repository ''needs'' to be defined, otherwise the versioncontrol modules are disabled - ~~fix AJAX query in annotate~~ - extend to cached repositories - IRepositoryProvider must have a way to signal new content, in order to rebuild the repository name cache