This documentation relates to an earlier version of FishEye.
View

Unknown macro: {spacejump}

or visit the current documentation home.

From FishEye 2.7, FishEye has the capability to create Git repositories, which are then hosted in FishEye.

This new functionality is significantly different from the features described on this page, which refer to adding externally hosted repositories to FishEye's list of things to scan.

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

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

要件

  • The server running FishEye must have Git (version 1.7.1.1 or later) installed.
    (info) FishEye should work with later versions of Git and there are some minor features of later versions which FishEye is able to take advantage of.

Git Repository Details

ステップ 1

フィールド

説明

Repository Type

Select 'Git'.

名前

Enter a name for this repository. The name may contain alphanumeric, underscore, '-' or '.' characters. This will be repository name in FishEye.

説明

Enter a short description of this repository.

ステップ 2

フィールド

説明

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.

パス

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

ステップ 3

フィールド

説明

Store Diff Info

Tick 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 Adding

Tick this checkbox, to enable the repository after adding (i.e. when you click the 'Add' button).

Screenshots: Adding a Git Repository

制限事項

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.

  • ラベルなし

9 Comments

  1. Anonymous

    FYI - 

    For others who were having this issue, I was able to get a repo to work with GitHub.

    Name/Desc field: whatever you want
    Repository Location: git@github.com:<proj>/location-to.git
    (This can be seen when logged into github and looking at your repo... 
    Click on SSH rather than HTTP for the location)
    Path: BlankBlock Size: Blank
    Rename Detection: Copy
    

    You will also need to setup ssh keys on the crucible/fisheye server (see here: http://help.github.com/msysgit-key-setup/)
    Then also, you will need to have it stop prompting for a password (see here: http://help.github.com/working-with-key-passphrases/)

    Also you will need to setup .gitconfig under the home dir of the user you are running crucible/fisheye as:

    [root@crucible ~]# cat .gitconfig
    [user]
    name = githubuser1234
    email = githubuser1234@somecompany.com
    
    1. Anonymous

      Can't you just set up your repo using read-only github url with no auth?

  2. Anonymous

    Using my best guesses I get:

    Error
    Error calling server:com.atlassian.fecru.gwt.admin.shared.OperationFailureException: Failed to enable or start new repository authorised-cas-proxy Unknown.fGb(Unknown source:0) Unknown.lGb(Unknown source:0) Unknown.lPc(Unknown source:0) Unknown.ks(Unknown source:0) Unknown.WMc(Unknown source:0) Unknown.QNc(Unknown source:0) Unknown.Cbc(Unknown source:0) Unknown.ecc(Unknown source:0) Unknown.anonymous(Unknown source:0) Unknown.n2b(Unknown source:0) Unknown.anonymous(Unknown source:0) Unknown.anonymous(Unknown source:0)
    You are running release CR2.4.1 FE2.4.1 (20101027024419 2010-10-27), please report your release number when reporting bugs.
    Got a suggestion or an issue?
    Discuss it in our forums or visit our support website for other options.

  3. Numenta Admins

    It would be helpful to demonstrate the full set of configuration cases and in particular the setup of a repo for access using ssh keys, since that is the most common git usage pattern out there. Unfortunately, this appears to be another case of insufficient usage documentation.

  4. Craig Solinski

    We found documentation greatly lacking for SSH connectivity, below shows how we finally successfully implemented.

    On Linux, we recently and finally successfully connected Fisheye using SSH as user 'git' to a github repository to access a particular git repo.

    Fisheye Repo Definition:
    Repository Location: ssh://git@github.xx.yyy/GEMINI/GEMINI.git
    Git Authentication: Generate key pair for ssh
    This created a private key file at /FISHEYE_INST/data/auth/GEMINI-xxx and public key file at /FISHEYE_INST/data/auth/GEMINI-xxx.pub the later was sent to Github owner to install on their end.

    Found for /home/username-fisheye-runs-as/.ssh we had to create a file named config with contents like: (So ssh would logon to github as user 'git'.)
    Host github.xx.yyy
    User git

    Also had to copy the private and pub keys to /home/username-fisheye-runs-as/.ssh dir.

    Connection then was successful and we have been polling github repo successfully since.

    Other Notes:
    Misleading Error Message - (prior to configuring .ssh/config file)
    Prior to configuring .ssh files, we were getting a Fisheye message (after Test Connection):
    Fisheye is using '/usr/bin/ssh' to authenticate with
    SSH authenticated repositories. Error testing
    connection. Error talking to repository:
    ssh: git-upload-pack: Name or service not known
    fatal: The remote end hung up unexpectedly

    Research on web led to multiple hits with various solutions that were of NO VALUE and confusing, because in fact, we were connecting as 'username-fisheye-runs-as' and the git repo we were connecting to only allows user 'git'. So we really were not even making a successful ssh connection.

    After installing Git client found Fisheye was looking in /home/username-fisheye-runs-as/share/git-core for 'templates' so we updated directory structure to match what Fisheye seemed to need.

    -craig

     

    1. Jerry Hoffmeister

      Thanks - your post was a big help.  2 things - I didn't need to copy any keys in fact there were no files in the auth directory to copy.  And I had to install git (on ubuntu - apt-get install git).  Again, thanks!

  5. Anonymous

    Is there an equivalent to the Subversion option for Start Revision? I am limited to only 10 committers, so I only want to index a subset of the revisions.

    1. Anonymous

      This is information I was looking for as well. I believe this would be easy to implement by adding a graft for the starting revision.

    2. Anonymous

      You can use the .mailmap feature of git to solve the 10 user problem for users that no longer are actively committing to the repository