'cannot open git-upload-pack' error in Eclipse when cloning or pushing git repository

EclipseGitBitbucketEgitAtlassian Sourcetree

Eclipse Problem Overview


I am not able to clone or push to a git repository at Bitbucket in Eclipse:

Error 'cannot open git-upload-pack'

It's weird, because a day before I didn't have any problem. I have downloaded the sts 3 times with no luck. This error keeps showing. Also I have installed SourceTree and it says 'This is not a valid source path / URL':

Error 'This is not a valid source path / URL' in sourcetree

If I use git commands to import the project, it works, but I wan't to use EGit for this task, since I am a newbie with git.

I don't know if this has to do with it, but in the same directory I have the android-adt-bundle. This one works pretty well, but the project lies on GitHub and not Bitbucket. Also, I'm working with another person and he is able to fetch and push data from and to the Bitbucket repository. I have read lots of posts but none of them have helped me out.

I'm using Windows 7 btw.

Eclipse Solutions


Solution 1 - Eclipse

Might also be bad SSL cert, fix the server

If you have a GIT server with an outdated or self-signed SSL cert fix the server, afterwards everything should run fine.

Insecure Hotfix: Let the client accept any certificate

The following solution is just a mere hotfix on client side and should be avoided as it compromises security of your credentials and content. There is a detailed explanation for this in "How can I make git accept a self signed certificate?" which offers more complex and more secure solutions you can try out if the following works in general.

In my case it was Eclipse using a different storage for the git config as the command line does and thus not having the option

git config http.sslVerify false

set (which I set using command line for the repo for working with invalid/untrusted SSL cert).

Adding the option insides Eclipse immediately resolves the issue. To add the option

  1. open preferences via application menu Window => Preferences (or on OSX Eclipse => Settings).
  2. Navigate to Team => Git => Configuration
  3. click Add entry..., then put http.sslVerify in the key box and false in the value box.

Seems to be a valid solution for Eclipse 4.4 (Luna), 4.5.x (Mars) and 4.6.x (Neon) on different Operating systems.

Solution 2 - Eclipse

It happens due to the following Reasons:

  1. Firewall.

  2. Network Issues.

  3. Proxy Settings Mismatch

  4. Connected through different Router - which is not authorized within the network.

  5. Git Proxy Authentication Details

Solution 3 - Eclipse

Finally I made it work thanks to the steps outlined in the Eclipse forum:

Set up the SSH key stuff

  1. Download and install mysys git according to the github instructions at http://help.github.com/win-git-installation/
  2. In C:/Users/you/ssh hide any existing keys (id_rsa and id_rsa.pub) in a subdirectory. If the ssh directory does not exist, create it. Of course, "you" is your username as the OS knows you.
  3. From the start menu, run Git-Bash command shell (a regular DOS command shell will not work).
  4. In the Git-Bash shell generate an rsa key based on your email (the one you registered at github): ssh-keygen -t rsa -C "[email protected]" and enter your pass phrase and confirm when asked.
  5. The previous step should have created C:/User/you/ssh/id_rsa.pub which you can now open in a text editor and copy. At github, go to account settings, SSH Keys, add a key and paste this in the key box.
  6. In Git-Bash again (notice the back-ticks in the next line):
eval `ssh-agent`
ssh-add C:/User/you/ssh/id_rsa
ssh git@github.com

Here is what you just did: You ran the ssh-agent which is needed by ssh-add. Then you used ssh-add to make note of the location of your key. Then you tried to ssh to GitHub. The response to this last command should be that you have successfully authenticated at GitHub but that you don't have shell access. This is just an authentication test. If the authentication was not successful, you'll have to sort that out. Try the verbose version:

Assuming this worked....

In Eclipse, configure the remote push

  1. Window > Show View > Git > Git Repositories will add a repository explorer window.
  2. In the repository window, select the repository and expand and right-click Remotes and choose Create Remote.
  3. Copy the GitHub repository URI from the GitHub repository page and paste it in the URI box.
  4. Select ssh as the protocol but then go back to the URI box and add "git+" at the beginning so it looks like this:

git+ssh://[email protected]/UserName/ProjectName.git

  1. In the Repository Path box, remove the leading slash
  2. Hit Next and cross your fingers. If your get "auth fail", restart Eclipse and try step 5 again.
  3. When you get past the authentication, in the next dialog select "master" for source ref, click "Add all branches spec" and "Finish".

Instead of using SSH [email protected] I did it with SSH [email protected].

Now I can push and import without any problem.

Solution 4 - Eclipse

After struggling for a couple of hours, I found that git config file was not updated when I added the entry sslVerify = false in my Eclipse.

I solved my problem by navigating to my .git directory and updating the config file to :

[http]
	sslVerify = false

Solution 5 - Eclipse

I added -Dhttps.protocols=TLSv1.1,TLSv1.2 to eclipse.ini and it's working. I use java 1.7

Solution 6 - Eclipse

I had exactly the same issue with eclipse 2020-12. In Preferences->Git I changed "Http Client" to "Java built-in HTTP" and the issue is resolved.

Solution 7 - Eclipse

One cause of this is having Fiddler2 configured to decrypt HTTPS traffic. Close Fiddler2 and it should work fine.

Solution 8 - Eclipse

This issue can be caused when you have a local firewall which is preventing your application from being able to send any network traffic away from your machine. I.e. Outbound traffic or egress traffic rules.

Please try disabling your firewall for a quick test to see if this fixes your issue. If it does then setup the appropriate firewall policy for the application you are trying to use to push or pull to a git repository.

Solution 9 - Eclipse

Recently I got same problem with existing repository.when I try to fetch from upstream not able Fetched object and got problems eclipse: cannot open git-upload-pack.

for me following solution work after adding TLS version in eclipse.ini file

Dhttps.protocols=TLSv1.1,TLSv1.2

For java7 need to add TLSv1.1 and for java8 need to TLSv1.2

Note: Need to restart eclipse once above configuration added.

Solution 10 - Eclipse

In my case, it turned out that global proxy settings in "Preferences->Network connections" were interfering with git. Which is kind of confusing, because git has dedicated property for proxy configuration. Anyway, I've added repository host to "Proxy bypass" list and the problem was gone.

Solution 11 - Eclipse

I faced "git-upload-pack not permitted" error in STS4 while fetching Bitbucket repository. I struggled for many many hours only to realize we need to use password generated with "Create app password" in Bitbucket (and not our own set password)

URL to generate password: https://bitbucket.org/account/settings/app-passwords/new

Use this password in "Clone a Git repository" in STS4

Solution 12 - Eclipse

I just got this same error, "cannot open git-upload-pack", in Eclipse with a BitBucket repo trying to do a pull or a push. I resolved it by switching local branches (Team/Switch To) to the master branch and doing a pull, and then switching back to the branch I was working on and pulling again.

Solution 13 - Eclipse

I'm using Eclipse Kepler SR2 on Ubuntu 12.04LTS and was trying to access an internal GitHub using HTTPS. Unfortunately, my underlying JVM with which Eclipse was started experienced problems with the self-signed certificate of the server. Switching to a different JVM for Eclipse got the HTTPS connection to our GitHub working.

Create a simple Eclipse starter that uses a different JDK, e.g. with OpenJDK: /Eclipse_Kepler_4.4.2/eclipse -vm /usr/lib/jvm/java-6-openjdk-i386/jre/bin

Solution 14 - Eclipse

I got the similar problem. I just followed the below steps

  1. Team > Remote > Configure Fetch from upstream...
  2. Provide the https: bit bucket uri then Save and Fetch.
  3. Reset the latest commit in your project. Team > Reset > Select the latest commit from remote folder
  4. Then synchronize the workspace. Team > Synchronize (in synchronize perspective)
  5. Right click on project and overwrite the local copy.
  6. Click on Pull icon.

Solution 15 - Eclipse

The Solution to this in Eclipse Mars 4.5.2: Window -> Preferences -> Team -> Git -> Repository Settings -> AddEntry Key: http.sslVerify Value: false

Solution 16 - Eclipse

For those who still have this problem, and none of the above solutions worked for you:
Update your versions of java and Eclipse.
In my case, I updated from java 7 to java 9, and Eclipse Mars to Eclipse Oxygen, and this problem was solved !!!

Solution 17 - Eclipse

Add https.sslVerify as false...when you use https connection for importing from git

Solution 18 - Eclipse

I had a similar problem and a quick fix to your issue is to make sure that you set your JVM option in the eclipse.ini file to use jre7. Older Jre's come with an old local policy file and this will return errors. One quick note also is that you need to point to your javaw not java.

-vm c:\PROGRA~2\Java\jre745\bin\javaw.exe -vmargs -Xms40m -Xmx512m -XX:MaxPermSize=256m -Dsun.lang.ClassLoader.allowArraySyntax=true

Solution 19 - Eclipse

I had my proxy settings set up in Eclipse and wasn't connected via ssh, which was causing the error.

Solution 20 - Eclipse

i've tried all those methods but it didn't work then a workmate told me that Putty Key Generator used to generate keys with 1024 bits but now Putty generate 2048 bits keys by default , so you just need to change the "Number of bits in a generated key" and it should work.

Solution 21 - Eclipse

The problem can also be caused by wrong system time (by a couple of years), making the Git's certificate invalid.

Solution 22 - Eclipse

I just changed the Network settings from Native to Manual, restart and the error is gone.

I'm using RAD 8.0.4.3 with and old version of EGit connected to TFS/Git. ;-)

Eclipse Network Settings

Solution 23 - Eclipse

I got this error message because I had a different user than what the repo expected in my git config.

This would obviously trigger the SSL Cert failures mentioned above.

Fixing to the correct user resolved this issue for me.

Solution 24 - Eclipse

to fix SSL issue you can also try doing this.

Download the NetworkSolutionsDVServerCA2.crt from the bitbucket server and add it to the ca-bundle.crt

ca-bundle.crt needs to be copied from the git install directory and copied to your home directory

cp -r git/mingw64/ssl/certs/ca-bundle.crt ~/

then do this. this worked for me cat NetworkSolutionsDVServerCA2.crt >> ca-bundle.crt

git config --global http.sslCAInfo ~/ca-bundle.crt

git config --global http.sslverify true

Solution 25 - Eclipse

I finally solved this issue by disabling IPv6 on the network configuration

Screenshot of my network configuration

> Note that I use a VPN connection. If you do too, you must restart it. I'm pretty sure that it will work even if you don't use a VPN.

Solution 26 - Eclipse

The repository owner should give you a contributor permission: Example

Solution 27 - Eclipse

For the Eclipse running on IBM JDK the following 2 lines are mandatory in eclipse.ini after -vmargs:

-Dhttps.protocols=TLSv1.1,TLSv1.2
-Dcom.ibm.jsse2.overrideDefaultTLS=true

Solution 28 - Eclipse

i've had the same issue on Spring Tool Suite (STS) and turns out, all i had to do was update my proxy settings in STS network config.

window > preferences > General > Network Connections and on the dropdown select "Manual" from "Native".

Here, just add your proxy url, port and your credentials for http and https by clicking on edit. Apply and close.

Hope it works for you.

Solution 29 - Eclipse

I got this error and after some research found that we need to create an access token in github and use it instead of the password which we have been using till now while git push and pull.

Github developer blog explaining the password deprecation: https://developer.github.com/changes/2020-02-14-deprecating-password-auth/

I have documented the steps here - you may try it out and see if it works for you. https://webfuse.in/blogs/issues-troubleshooting/git-upload-pack-not-permitted-on-error-while-git-pull-and-git-push/

Thanks. This looks like an evergreen Question as I am answering after 7 years along with other valid answers!! :)

Solution 30 - Eclipse

I had the same error. The error occurred suddenly while working. In my case it looked like an account problem or server side problem.

I sign out and signed in again in Bitbucket repository from web browser and this solved my problem.

Solution 31 - Eclipse

The problem can occur when there is no connection to remote origin. For me it was simply dropped connection to vpn. In workspace/.metadata/.log

     cannot open git-upload-pack
!STACK 0
org.eclipse.jgit.api.errors.TransportException: https://xxx.repository.host.pl/groupYYY/project.git: cannot open git-upload-pack
	at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:224)
	at org.eclipse.jgit.api.PullCommand.call(PullCommand.java:263)
	at org.eclipse.egit.core.op.PullOperation$PullJob.run(PullOperation.java:255)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
    ....
	at org.eclipse.jgit.transport.TransportHttp.connect(TransportHttp.java:749)
	at org.eclipse.jgit.transport.TransportHttp.openFetch(TransportHttp.java:465)
	at org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:142)
	at org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:94)
	at org.eclipse.jgit.transport.Transport.fetch(Transport.java:1309)
	at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:213)
	... 3 more
Caused by: java.net.UnknownHostException: xxx.repository.host.pl

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionkiduxaView Question on Stackoverflow
Solution 1 - EclipseNextThursdayView Answer on Stackoverflow
Solution 2 - EclipseSireesh YarlagaddaView Answer on Stackoverflow
Solution 3 - EclipsekiduxaView Answer on Stackoverflow
Solution 4 - EclipseRadouane ROUFIDView Answer on Stackoverflow
Solution 5 - EclipselioxView Answer on Stackoverflow
Solution 6 - EclipseJavaDragonView Answer on Stackoverflow
Solution 7 - EclipseAaron AxvigView Answer on Stackoverflow
Solution 8 - Eclipseuser560663View Answer on Stackoverflow
Solution 9 - EclipseHardik LotiyaView Answer on Stackoverflow
Solution 10 - EclipseiTakeView Answer on Stackoverflow
Solution 11 - EclipseAtulView Answer on Stackoverflow
Solution 12 - EclipsekrisView Answer on Stackoverflow
Solution 13 - EclipseS FView Answer on Stackoverflow
Solution 14 - Eclipsezishan payaView Answer on Stackoverflow
Solution 15 - EclipsePawan JView Answer on Stackoverflow
Solution 16 - EclipseUpendra View Answer on Stackoverflow
Solution 17 - EclipseNiranjan SView Answer on Stackoverflow
Solution 18 - EclipserokeefeView Answer on Stackoverflow
Solution 19 - EclipseDino VelićView Answer on Stackoverflow
Solution 20 - EclipsemuvunyiView Answer on Stackoverflow
Solution 21 - Eclipseuser824276View Answer on Stackoverflow
Solution 22 - EclipseJuan Carlos PuertoView Answer on Stackoverflow
Solution 23 - EclipsekirenpillayView Answer on Stackoverflow
Solution 24 - EclipseRahulMohan KolakandyView Answer on Stackoverflow
Solution 25 - EclipseSavandyView Answer on Stackoverflow
Solution 26 - EclipseLuis Andrés GarcíaView Answer on Stackoverflow
Solution 27 - EclipseMarianView Answer on Stackoverflow
Solution 28 - EclipsestupendoView Answer on Stackoverflow
Solution 29 - Eclipse3AKView Answer on Stackoverflow
Solution 30 - EclipseGLamprosView Answer on Stackoverflow
Solution 31 - EclipseKrzysztof CzerwView Answer on Stackoverflow