Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

What is the difference between a Fisheye managed repository (GIT) and a GIT created repository?

Cameron River September 13, 2011

So, my experience with the way FishEye handles Git repositories have been confusing and a bit frustrating. The one thing I noticed is the a FishEye managed repository will not index unless I use the http url. Pushing changes via other protocols will update the repository but will never get index. However, if I use a existing Git (created by Git) repository, FishEye will index my changes (not sure how frequently).

Also using Eclipse to push to via FishEye http url has not working, authentication not support. However, using a network share to the same repository works file except for what I mentioned above.

Any else have similiar experiences with FishEye and Git??

3 answers

1 accepted

2 votes
Answer accepted
TimP
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 14, 2011

Hi Cameron & Rob,

Thanks for the output - I've managed to reproduce the problem locally and nailed down the problem. It seems there's a bug in egit that causes it to fail to a 401 basic authentication challenge when there are multiple WWW-Authenticate headers defined and the one that it checks is not "Basic".

I'm just testing a workaround that reorders the WWW-Authenticate headers to keep egit happy. If the fix works I'll target FishEye 2.7.2 which should be available shortly. In the meantime, I'll also lodge a bug with the egit crew.

Edit: raised a bug against egit and a task to workaround it in FishEye. Please follow FE-3718 if you'd like to see track the fix in FishEye.

cheers,

Tim

TimP
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 14, 2011

Hi Rob,

It's intentional that you're prompted for authentication. Unless you've made the repository anonymously accessible, you will need to authenticate requests from the command line. You can check your permission settings in Adminsitration > Repository List > [Repository Name] > Permissions.

cheers,

Tim

Rob Kooper September 14, 2011

Actually in my case it was the command line version of git on a MAC.

iMac:foobar kooper$ git --version
git version 1.7.6

Rob Kooper September 14, 2011

I checked permissions and anonymous has "Can Read" permissions.

TimP
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 14, 2011

Hi Rob,

Do you have a proxy with basic authentication set up guarding that server? FishEye's Git servlet should definitely not be prompting you for authentication.

Would you mind raising a support request at https://support.atlassian.com in the FishEye project? The issue you're describing is a different concern to what this Answers thread is addressing, and I think would be better addressed in our suppot issue tracker.

Thanks,

Tim

Rob Kooper September 14, 2011

Created an issue (FSH-6857) and yes i do have a webserver with proxy running in front of fisheye, but there should be no basic auth (as far as I can see). I can access all the other fisheye content without logging in. The only thing that asks for authentication is the GIT repositories behind fisheye.

Rob Kooper September 14, 2011

Tim, you were correct. A night of sleep made me realize that I had in my apache.conf setup a locationmatch on /git which was triggered for fisheye and made it query for a password. Removing the location match fixed the issue.

Rob

TimP
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 15, 2011

Thanks for the update Rob - this may be a fairly common scenario for users migrating from apache managed repositories to FishEye.

I'll add a note to the docs to make sure others don't fall into this trap - thanks!

cheers,

Tim

1 vote
TimP
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 13, 2011

Hi Cameron,

By default, managed repositories in FishEye don't have regular index updates enabled to conserve resources. Instead, FishEye automatically indexes repositories when you push to it via the FISHEYE/git/your-repository.git URL. This means your changes will show up more or less instantly when you push.

However, if you're exposing your Git repository by some other method (network share, apache, gitolite, etc..) you'll need to enable Updates for the repository - there's documentation for this here.

However, you should also be able to use EGit to push and pull directly from the FishEye HTTP(S) Git URL using basic authentication. When you clone a git project into Eclipse, make sure you select HTTPS and enter your credentials. If you've already cloned using SSH, you can convert it using the following procedure:

1. Go to the Git Repositories view

2. Select the origin you want to pull from (fisheye), right-click, and select Configure Push.

3. Click "Change" on URI, select the protocol "https" and enter your username and password.

Note it is strongly recommended to configure SSL for your FishEye instance if you're going to be working with managed Git repositories.

cheers,

Tim

Cameron River September 13, 2011

Thanks for the tidbit on the Updates for the repository. That will solve that issue.

I still can't get Egit to connect using basic authentication. When I try to push to the URL I get, error "An internal Exception occurred during push: http://<redacted>.com:8060/git/PLR.TEST.git: authentication not supported". Interesting enough I can leave the password blank (or with a user/passwrd) for the clone and it completes successfully (sort of). The odd part is that after the project is cloned I get a red 'X' " Please select a repository from the list" and they is no repository to select. I have to do another import and select the local cloned repository.

I'll try HTTPS tomorrow instead of HTTP, and see if I have more successful with HTTP. I might stick with the network share as I'm in a Windows environment and that would keep from having to change the password (using LDAP) when we're forced to changed it per Active Directory policy.

Any other ideas would be helpful, if not to me than hopefully to someone else that runs into this issue.

Thanks!

TimP
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 13, 2011

Thanks for the update Cameron - do you see any errors in the server logs?

Which version of Eclipse/Egit are you using? I'll have a play around and see if I can reproduce this locally.

cheers,

Tim

Cameron River September 13, 2011

EGit version 1.1.0.201109111618

Eclipse version 3.6.1.r361_v20100909 (Flash Builder 4.5.1)

No errors were recorded for authentication... I might have to turn on HTTP logging or something.

Thanks

Cameron River September 14, 2011

Clone: Response

HTTP/1.1 200 OK
Expires: Fri, 01 Jan 1980 00:00:00 GMT
Pragma: no-cache
Cache-Control: no-cache, max-age=0, must-revalidate
Content-Type: application/x-git-upload-pack-advertisement
Content-Length: 264
Server: Jetty(6.1.26)

001e# service=git-upload-pack
000000a3f8f717c746bb67f0c5cd24d2081d0d6395705d9b HEAD�multi_ack thin-pack side-band side-band-64k ofs-delta shallow no-progress include-tag multi_ack_detailed no-done
003ff8f717c746bb67f0c5cd24d2081d0d6395705d9b refs/heads/master
0000

Push: Response

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="FishEye Managed Repository"
WWW-Authenticate: OAuth realm="http%3A%2F%2F<redacted>.com%3A8060"
Connection: close
Server: Jetty(6.1.26)

You must be authenticated to use this service.

0 votes
Rob Kooper September 14, 2011

I run into the same problem. I have crucible 2.7.1 installed under ubuntu. I created a repository and when I try to clone (or connect to it using a browser) it will popup an authorization dialog. I did a export GIT_CURL_VERBOSE=1 to see some mesages. Attached is the output:

iMac:foobar kooper$ git clone https://opensource.ncsa.illinois.edu/fisheye/git/TEST.git
Cloning into TEST...
* Couldn't find host opensource.ncsa.illinois.edu in the .netrc file; using defaults
* About to connect() to opensource.ncsa.illinois.edu port 443 (#0)
*   Trying 141.142.227.5... * Connected to opensource.ncsa.illinois.edu (141.142.227.5) port 443 (#0)
* SSL connection using DHE-RSA-AES256-SHA
* Server certificate:
* 	 subject: C=US; postalCode=61801; ST=IL; L=Urbana; O=University of Illinois; OU=Urbana-Champaign Campus; CN=opensource.ncsa.illinois.edu
* 	 start date: 2011-09-14 00:00:00 GMT
* 	 expire date: 2014-09-13 23:59:59 GMT
* 	 subjectAltName: opensource.ncsa.illinois.edu matched
* 	 issuer: C=US; O=Internet2; OU=InCommon; CN=InCommon Server CA
* 	 SSL certificate verify ok.
> GET /fisheye/git/TEST.git/info/refs?service=git-upload-pack HTTP/1.1
User-Agent: git/1.7.6
Host: opensource.ncsa.illinois.edu
Accept: */*
Pragma: no-cache

* The requested URL returned error: 401
* Closing connection #0
Username: 

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events