Documentation for Crucible 3.0.x. Documentation for other versions is available too.

This page describes how to use Crucible's native repository access to connect to an external Git repository. This native access uses a FishEye component (without requiring a FishEye license) which is why the description below refers to FishEye in places. See What happens if I decide to stop using FishEye with Crucible for more information.

Crucible interacts with Git repositories by executing the Git command in a separate process. Hence, the server running Crucible needs to have Git installed. Crucible indexes Git repositories by making a private, bare clone of your repository within Crucible's cache area. It uses this private clone for most Git operations.

(info) See the Supported Platforms page for the version of Git that is required by the server running Crucible.

When adding or managing a Git repository, you can do the following:


To add an external Git repository to Fisheye:

  1. 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).
  2. Click Repositories (under 'Repository Settings').
  3. Click Native repository access, and then Add repository.
  4. Complete the wizard:

Step 1

Field

Description

Repository Type

Select Git.

Display Name

A name for this repository. The name may contain alphanumeric, underscore, '-' or '.' characters and its length must not exceed 100 characters.

(info) Note that a repository name is different from its key. See Renaming a repository for details. 

Description

Enter a short description of this repository.

Step 2

Field

Description

Repository Location

Enter the URL describing the Git repository location. Fisheye will clone this repository for indexing purposes. You can use any URL recognized by Git itself. Fisheye recognizes the following URL's:

git://server_name[:port]/path_to_repository
http://server_name[:port]/path_to_repository
https://server_name[:port]/path_to_repository
ssh://server_name[:port]/path_to_repository
file://[hostname]/path_to_repository

Do not use spaces in your URL.

Path

(optional) Enter the path within the Git repository that you want Fisheye to index. This lets you limit Fisheye to indexing a subset of the complete Git repository.

Authentication Style

Choose the desired authentication style for your repository — No authenticationGenerate key pair for SSHUpload private key for SSH or Password for http(s). Please refer to Authentication for more information.

Block Size

(optional) Enter how many commits you want Fisheye to process in one batch. Larger values require more memory and increase the amount of work Fisheye commits to the database in a single operation. The default is 400. The minimum being 1. This field only accepts positive whole numbers. Requires a repository restart.

Command Timeout

(optional) Enter the time that a single Git command is allowed to take to execute. Any command that exceeds this time is terminated and the operation will fail.

Rename Detection

(optional) Select which Git rename detection strategy Fisheye will use to detect copy and move operations within the repository. Please refer to the Git documentation for more information.

Step 3

Field

Description

Store Diff Info

Check this if you want Fisheye to cache information about file diffs in its database. This is required for some Fisheye features. See Configuring Repository Details for more information on this setting.

Enable Repository After Adding

Check this to enable the repository after adding (i.e. when you click the Add button).


Limitations

Indexing of a Git repository can be slow when new branches are pushed. Performance in such cases can be improved by setting a command line option for Fisheye. See this KB page for more information.

Fisheye uses GIT_SSH variable to call fe-ssh.sh / fe-ssh.bat wrapper and to pass SSH key for the git process. Make sure that you don't have the GIT_SSH_COMMAND variable defined, which takes precedence over GIT_SSH

  • No labels