Subversion
When adding or managing a SVN (Subversion) repository, you can:
- Define repository details, as described below.
- Set Fisheye's repository options.
There are also the following SVN-specific actions:
On this page:
Requirements
- Please refer to Supported platforms to see the version of Subversion that is required by Fisheye.
- You may need to have set up a Subversion client in Fisheye before you can add Subversion repositories.
- Grant permission to Fisheye to scan your repository.
- Set up the correct branch and tag structure.
It is particularly important that you set up the correct branch and tag structure for your Subversion repositories. If Fisheye does not know which files are tags and branches, it will treat all files as trunk files. This can significantly increase the effective size of your repository. This will increase initial scan time and impact runtime performance. Please refer to the instructions on tag and branch configuration.
In the majority of cases, indexing a small repository shouldn't take hours, and certainly not days. However, if you have a giant repository, have a slow remote host, you're using HTTP or HTTPS protocols, or if there is a problem with the symbolic setup of your repository, it could potentially take hours or even days. If in doubt, schedule the indexing to run over a weekend or extended maintenance period.
Using the 'file://' protocol to access your Subversion repository can be much faster than the other network protocols if your repository is on a local disk on the same server as Fisheye.
Knowledge Base
You may find useful information in either the Fisheye Subversion FAQ or the Subversion integration section of the Fisheye Knowledge Base.
SVN repository setup
- Click the 'cog' menu in the Fisheye header, and choose Administration (you'll need to be logged in as an administrator to see this link).
- Click Repositories (under 'Repository Settings').
- Click Add repository.
- Complete the wizard:
Screenshots: Adding a SVN repository
Setting | Description |
---|---|
Repository Type | Choose Subversion. |
Display Name | A name for this repository. The name may contain alphanumeric, underscore, '-' or '.' characters and its length must not exceed 100 characters. Note that a repository name is different from its key. See Renaming a repository for details. |
Description | A short description of this repository. |
SVN URL | The Subversion Repository Root URL to your repository, such as svn://svn.foo.com or file:///var/svn. If you are not sure what your repository root is, check the section below "Finding your Repository Root". |
Path | The sub-tree within your repository that Fisheye should display. If this value is '.' (or empty), then the whole repository will be shown. |
Username/Password | The credentials to use if your repository requires authentication. See also SVN Authentication Issues. |
Store Diff Info | Enable this option if you are using the Subversion or Perforce SCM systems and making use of per-author line counts. Otherwise, enabling this option is not necessary. Read more information |
Enable Repository After Adding | Controls whether Fisheye will immediately enable this repository, which starts the initial scan. If you wish to do some further configuration before the scan starts, then do not check. You can enable a repository later from the repository list. |
Once the repository is added you can click the repository name on the 'Repositories' screen to configure the following settings:
Setting | Description |
---|---|
Block Size | Controls how many revisions Fisheye will pull down from the repository in one batch. Larger values can reduce the time it takes for Fisheye to scan your repository for changes, but use more memory. Smaller values can reduce the amount of memory Fisheye uses during scans. The default is 400. The minimum being 1. This field only accepts positive whole numbers. Requires a repository restart. |
SVN Operation Timeout | Sets the timeout value that Fisheye imposes on Subversion operations. Operations which exceed this value are terminated. The default for operations is 1 hour. It can be changed to a different interval, for example: "2 days", "10 hours", or "20 minutes". The library that Fisheye/Crucible uses (SVNKit) for SVN integration defines a timeout of 60 minutes by default if the property See this KB for more information: SVN operations taking longer than an hour time out |
Throttle connections-per-sec | If set, this allows Fisheye to throttle how many connections it makes per second to the SVN server. Many systems use |
Charset | The character set used to interpret and display text files. |
Access Code | The access code for the |
MD5 Access Code | The MD5 sum of the above Access Code. See also Subversion fisheye.access. (This field only appears if Access Code is set.) |
Set Access Property Command | The Subversion command to set the |
Start Revision | If set, the revision number from which Fisheye will start indexing the repository. The default is to start scanning from the first revision in the repository. |
Initial Import | When a Start Revision is set, this setting controls how Fisheye establishes the initial state of the repository. |
Follow Base Moves | If you have changed the location of your repository in your Subversion server over time, set this option to true. Doing so will cause Fisheye to index your repository's full history across all its locations within your server. |
Use Built-in Symbolic Rules | Determines how Fisheye attempts to understand the tag and branch structure of your Subversion repository. Read more information. |
If Fisheye returns the error 'Authentication Canceled', this may simply indicate an incorrect username or password.
Finding your repository root
Run the following command:
svn info SVN_URL
Where SVN_URL is the complete URL of the repository you want to add.
You will get something like the following:
>svn info http://svn.example.com/svn5/
Path: svn5
URL: http://svn.example.com/svn5/
Repository Root: http://svn.example.com/
Repository UUID: ce062a09-193b-427a-a7b3-a85007076e5d
Revision: 83
Node Kind: directory
Last Changed Author: ryan
Last Changed Rev: 83
Last Changed Date: 2009-05-07 10:48:41 +1000 (Thu, 07 May 2009)
Next to "Repository Root" is the URL you should define as your repository root. The path will be whatever is remaining.