Crucible 2.8 : Setting Up a Git Repository in Crucible

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) The server running Crucible must have Git (version 1.7.1.1 or later) installed.

Git Repository Details

Step 1

FieldDescription
Repository TypeSelect 'Git'.
NameEnter a name for this repository. The name may contain alphanumeric, underscore, '-' or '.' characters. This will be repository name in FishEye.
DescriptionEnter a short description of this repository.

Step 2

FieldDescription
Repository Location

Enter the URL describing the Git repository location. FishEye will clone this repository for indexing purposes. You can use any URL recognised 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.
(info) FishEye does not directly support the ssh protocol for Git repositories. To use ssh, launch FishEye within the context of ssh-agent, to which the appropriate ssh keys have been added.

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.
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.
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

FieldDescription
Store Diff InfoTick this checkbox, 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 AddingTick this checkbox, to enable the repository after adding (i.e. when you click the 'Add' button).

Limitations

When FishEye indexes a Git repository, it indexes by the available branches. As it processes the commits on a branch, FishEye will assign the commit to the branch it first sees the commit on. Commits are only indexed once so if a commit belongs to multiple branches, the commit will not indexed against subsequent branches.