RedmineRepositories » History » Version 9

« Previous - Version 9/63 (diff) - Next » - Current version
Jean-Philippe Lang, 2008-03-23 19:08


Repositories

Redmine natively supports integration with different SCM: Subversion, CVS, Mercurial, Darcs, Git (as of r1236), and Bazaar (as of r950).

Note that you need to install the appropriate binaries on your Redmine host:

SCM Tested with Comments
Subversion 1.3 & 1.4 1.3 or higher required
CVS 1.12.12 1.12 required, won't work with CVSNT
Mercurial 0.9.3
Bazaar 1.0.0.candidate.1
Darcs 1.0.7
Git 1.5.4.2 As of r1236, slated for release with Redmine 0.7

For exemple, if you want to access Subversion repositories in Redmine, you'll have to install the svn binaries on the Redmine host.

Attaching an existing repository to a project

In the project settings, make sure that the 'Repository' module is enabled and go to the 'Repository' tab.
Select the SCM that corresponds to your repository and enter the path or URL of your repository.

Important: When you first browse the repository, Redmine retrieves the description of all of the existing commits and stores them in the database.
This is done only once per repository but can very long (or even time out) if your repository has hundreds of commits.

To avoid this, you can do it offline.
After having your repository declared in Redmine, run the following command:

ruby script/runner "Repository.fetch_changesets" -e production

All commits will be retrieved in the Redmine database.

Subversion repository

Usual protocols are supported (eg. http:, svn:, file:), just enter the URL of the repository.

Exemple:

http://host/path/to/the/repository

You can specify a username and password if the repository requires authentication.

Note: if you want to access the repository using svn+ssh://, you'll have to configure svn+ssh to be non-interactive.
This requires to setup a public/private key pair for ssh authentication.

CVS repository

Enter:
  • the URL of the repository (it can be either a path or a connection string, eg. :pserver).
  • the module name

Exemple:

:pserver:login:password@host:/path/to/the/repository