Edgewall Software

Changes between Version 1 and Version 2 of 1.1/TracRepositoryAdmin


Ignore:
Timestamp:
Nov 19, 2014, 4:36:13 AM (9 years ago)
Author:
Ryan J Ollos
Comment:

Modified for sync_per_request attribute added in #11776.

Legend:

Unmodified
Added
Removed
Modified
  • 1.1/TracRepositoryAdmin

    v1 v2  
    66 * Manage repositories in the "Repository" admin panel, with `trac-admin` or in the `[repositories]` section of [wiki:TracIni#repositories-section trac.ini].
    77 * Set up a call to `trac-admin $ENV changeset added $REPO $REV` in the post-commit hook of each repository. Additionally, add a call to `trac-admin $ENV changeset modified $REPO $REV` in the post-revprop-change hook of repositories allowing revision property changes.
    8  * Set the `[trac] repository_sync_per_request` option to an empty value to disable per-request syncing.
     8 * Set the `sync_per_request` attribute to `false` to disable per-request syncing.
    99 * Make sure the user under which your Subversion hooks are run has write access to the Trac environment, or use a tool like `sudo` to temporarily elevate privileges.
    1010
     
    2424||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. ||
    2525||`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. ||
     26||`sync_per_request`||When set to `true` the repository will be synced on every request. This is not recommended, instead a post-commit hook should be configured to provide [#ExplicitSync explicit synchronization] and `sync_per_request` should be set to `false`.||
    2627||`type` ||The `type` attribute sets the type of version control system used by the repository. Trac supports Subversion and Git 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. ||
    2728||`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. ||
     
    8990
    9091=== Explicit synchronization #ExplicitSync
    91 This is the preferred method of repository synchronization. It requires setting the `[trac]  repository_sync_per_request` option in [wiki:TracIni#trac-section trac.ini] to an empty value, and adding a call to `trac-admin` in the `post-commit` hook of each repository. Additionally, if a repository allows changing revision metadata, a call to `trac-admin` must be added to the `post-revprop-change` hook as well.
     92This is the preferred method of repository synchronization. It requires setting the `sync_per_request` attribute to `false`, and adding a call to `trac-admin` in the `post-commit` hook of each repository. Additionally, if a repository allows changing revision metadata, a call to `trac-admin` must be added to the `post-revprop-change` hook as well.
    9293
    9394 `changeset added <repos> <rev> [...]`::
     
    173174
    174175=== Per-request synchronization #PerRequestSync
    175 If the post-commit hooks are not available, the environment can be set up for per-request synchronization. In that case, the `[trac] repository_sync_per_request` option in [wiki:TracIni#trac-section trac.ini] must be set to a comma-separated list of repository names to be synchronized.
     176If the post-commit hooks are not available, the environment can be set up for per-request synchronization. In that case, the `sync_per_request` attribute for each repository in the database and in [wiki:TracIni#trac-section trac.ini] must be set to `false`.
    176177
    177178Note that in this case, the changeset listener extension point is not called, and therefore plugins using it will not work correctly.
     
    184185 1. Add the main repository as a named repository.
    185186 1. Re-synchronize the main repository.
    186  1. Set up post-commit and post-revprop-change hooks on the "main" repository, and set `[trac] repository_sync_per_request` to an empty value.
     187 1. Set up post-commit and post-revprop-change hooks on the "main" repository, and set the repository's `sync_per_request` attribute to `false`.
    187188 1. Add an alias to the main repository as the default repository (by leaving out the the `name`, e.g. `.alias = main`). This ensures that all links predating the migration still resolve to the main repository.
    188189 1. Repeat steps 2, 3 and 4 to add other "named" repositories as needed.