Edgewall Software

Version 2 (modified by Remy Blank, 14 years ago) ( diff )

Created the first section about specifying repositories.

This page documents the 0.12 release. Documentation for other releases can be found here.

Repository Administration

Specifying repositories

Starting with 0.12, Trac can handle more than one repository per environment. The pre-0.12 way of specifying the repository with the repository_dir and repository_type options in the [trac] section of trac.ini is still supported, but two new mechanisms allow including additional repositories into an environment.

It is also possible to define aliases of repositories, that act as "pointers" to real repositories. This can be useful when renaming a repository, to avoid breaking all the links to the old name.

A number of attributes can be associated with each repository, and define the location of the repository, its type, name and how it is displayed in the source browser. The following attributes are supported:

Attribute Description
alias A repository having an alias attribute is an alias to a real repository. All TracLinks referencing the alias resolve to the aliased repository. Note that multiple indirection is not supported, so an alias must always point to a real repository. The alias and dir attributes are mutually exclusive.
description The text specified in the description attribute is displayed below the top-level entry for the repository in the source browser. It supports WikiFormatting.
dir The dir attribute specifies the location of the repository in the filesystem. It corresponds to the value previously specified in the option [trac] repository_dir. The alias and dir attributes are mutually exclusive.
hidden When set to true, the repository is hidden from the repository index page in the source browser. Browsing the repository is still possible, and links referencing the repository remain valid.
name The name attribute specifies the leading path element to the repository.
type The type attribute sets the type of version control system used by the repository. Trac supports Subversion out-of-the-box, and plugins add support for many other systems. If type is not specified, it defaults to the value of the [trac] repository_type option.
url The url attribute specifies the root URL to be used for checking out from the repository. When specified, a "Repository URL" link is added to the context navigation links in the source browser, that can be copied into the tool used for creating the working copy.

The name attribute and one of alias or dir are mandatory. All others are optional.

In trac.ini

A new section [repositories]

Using the "Repositories" admin panel

Repository synchronization

Editing Notes

The different points that should be addressed in this page:

  • mainly what admins need to do for adapting their repository hooks
  • what admins can do with their default repository (setting up an alias for default, or better, "migrating" their unnamed default repository to a named repository and add an alias to the empty repo pointing to the new name)
    • trac-admin (repository and changeset commands)
      • trac-admin set and hidden and url attributes
  • admin panel intro

Note that the source:sandbox/multirepos/contrib/trac-svn-hook already contains some quite detailed documentation about the various ways to setup a hook (or directly call trac-admin changeset from the hooks), but this page should be more descriptive.

Note: See TracWiki for help on using the wiki.