atom / github

:octocat: Git and GitHub integration for Atom
https://github.atom.io
MIT License
1.11k stars 393 forks source link

Unable to push #902

Open gcorboz opened 7 years ago

gcorboz commented 7 years ago

Description

Instead of GITHUB I'm using Enterprise GITHUB and when I try and push commits I get an "Unable to push" error.

The detailed error message is as below but I've masked our enterprise URL: fatal: unable to access 'https://aaa/bbb/ccc.git/': schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.

Steps to Reproduce

  1. Push

Expected behavior:

I expected my commits to be pushed to the Enterprise GITHUB

Actual behavior:

Received an Unable to Push error.

Versions

Atom Beta 1.18.0-beta2 x64

smashwilson commented 7 years ago

Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.

gcorboz commented 7 years ago

Hi Smashwilson I am able to push successfully to our enterprise GIT using other git tools/command line/etc.

I have to configure the proxy though to get through our firewall.

I'm not sure how to set the proxy settings within Atom though.

gcorboz commented 7 years ago

Turns out there was an issue with our corporate certificate - now that this has been fixed I can push using Atom without any issues.

gcorboz commented 7 years ago

I reopened this as while the certificate issue was resolved - Atom didn't handle that properly while other GIT applications did.

adrian3H commented 7 years ago

I have a similar push issue.

I am constantly prompted for username and password when pushing, using the Github package in Atom on a Mac. And I usually have to enter my username and password (or keychain) three times before the push works.

After entering my username and password and submitting, the log-in overlay disappears, then reappears with empty fields after a few seconds. I have to reenter my username and password and submit. This happens at least twice before the push finally goes through successfully. This entire process takes place each time I press 'push', not just the first time.

NB - I have no problem pushing via the command line or via the GitHub Desktop app.

I tried safe mode and I tried clearing saved state. Neither worked. The result was the same as described above.

I also created a personal access token. And I entered that the next time I got the login overlay. But it didn't work. The result was the same as described above.

I thought the issue might be with the atom-github keychain. I changed the password in the atom-github keychain in keychain access, to my new personal access token. Still no luck.

It may be relevant that the GitHub desktop app and the GitHub package in Atom appear to access different keychains. The atom-github keychain has the account listed as https://api.github.com. The GitHub desktop app accesses the (pre-existing?) GitHub for Mac SSH keychain, which lists the account as my personal github account name (email address). (Note - that keychain is almost identical to another keychain called github.com/mac.)

Perhaps the GitHub package for Atom needs to add itself to that existing GitHub for Mac SSH Keychain, rather than creating its own Keychain. In other words, it needs to adopt the same authorisation method as the GitHub desktop app.

smashwilson commented 7 years ago

@gcorboz: Ah, got it. I'm guessing that we aren't propagating the git settings related to your proxy to the git subprocess properly.

If you don't mind my asking, how do you configure git to use your proxy ordinarily? Do you set environment variables, git config settings, or does it pick up your OS network settings? Also, what OS are you on?

gcorboz commented 7 years ago

I'm using Windows 7 Enterprise. To configure proxy and certificate settings I used git config in the command line. GIT for windows comes with a bash terminal.

thtliife commented 7 years ago

@gcorboz: Ah, got it. I'm guessing that we aren't propagating the git settings related to your proxy to the git subprocess properly.

@smashwilson, I think this may be the case... I have my proxy set via apmrc, environment variables and .gitconfig Atom gets out through the proxy no problems for package installation. I can use git without issue in terminal. However, the atom github package refuses to get out through the proxy. This is with a regular github account also, not github enterprise.

I also notice this in the devtools console on every save of a file in a git repo: fetchWithRetries.js:52 POST https://api.github.com/graphql net::ERR_TUNNEL_CONNECTION_FAILED but when accessing that url in my browser, I can reach it successfully:

{
  "message": "This endpoint requires you to be authenticated.",
  "documentation_url": "https://developer.github.com/v3/#authentication"
}

This error goes away when I disable the github package

I also am unable to view the PR tab, whilst behind the proxy.

screen shot 2017-06-20 at 1 04 10 pm

(Unrelated note: It might be an idea to add className="btn" to that try again button :P )

However when I am at home, and not behind a proxy, it all works without issue.

angrydonald commented 7 years ago

I have the same problem on windows : schannel: next InitializeSecurityContext failed: Unknown error (0x80092013) The revocation function was unable to check revocation because the revocation server was offline

Push and pull ko. A proxy is in .atom/.apmrc and it works (updates ok).

fraserpal commented 7 years ago

same problem here

robgf commented 7 years ago

I have had luck just ignoring the certificates: git config --global http.sslVerify false

thomaseyde commented 6 years ago

@robgf, that did the trick for me. I dropped --global in the hope that this change only affects this one repository. But this solution was unbelievable hard to find!