Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Display git errors during authentication. #5061

Merged
merged 2 commits into from
Feb 24, 2018
Merged

Conversation

ehuss
Copy link
Contributor

@ehuss ehuss commented Feb 21, 2018

Certain git errors during authentication were being converted to internal errors which meant that they are only seen if you pass --verbose. This may not be obvious, and many of these messages are helpful for diagnosing git errors. This change makes these errors always be displayed.

Fixes #5035.

Note: Some of the git errors are currently unhelpful. Once Cargo has updated git2-rs to include alexcrichton/git2-rs#298, these errors will improve. (@alexcrichton, I can make a PR to update Cargo for the changes in git2 if you'd like).

I'm uncertain if this is a good solution, since the error messages in some cases are a little verbose (such as showing class=...). Here is a sample of what some of the messages look like:

Error Message Examples

Example of the git message shown below the "attempted yadda yadda" message.

Scenario Message
No ssh-agent, multiple usernames error authenticating: ; class=Ssh (23)
error authenticating: no auth sock variable; class=Ssh (23)
No ssh-agent, one username an unknown git error occurred
error authenticating: no auth sock variable; class=Ssh (23)
Incorrect ssh-agent setup error authenticating: failed connecting with agent; class=Ssh (23)
ssh-agent no keys, one username an unknown git error occurred
failed to acquire username/password from local configuration
ssh-agent no keys, multiple usernames error authenticating: ; class=Ssh (23)
no authentication available
auth success, bad path fatal: '/path/to/repo/' does not appear to be a git repository; class=Ssh (23); code=Eof (-20)
ERROR: Repository not found.; class=Ssh (23); code=Eof (-20)
bad username an unknown git error occurred
failed to acquire username/password from local configuration
error authenticating: Username/PublicKey combination invalid; class=Ssh (23)

† - Messages once git2-rs is updated.
‡ - Github message

@rust-highfive
Copy link

r? @alexcrichton

(rust_highfive has picked a reviewer for you, use r? to override)

@bors
Copy link
Contributor

bors commented Feb 21, 2018

☔ The latest upstream changes (presumably #5063) made this pull request unmergeable. Please resolve the merge conflicts.

@alexcrichton
Copy link
Member

@bors: r+

Thanks!

@bors
Copy link
Contributor

bors commented Feb 24, 2018

📌 Commit f66fe2c has been approved by alexcrichton

@bors
Copy link
Contributor

bors commented Feb 24, 2018

⌛ Testing commit f66fe2c with merge f75f403...

bors added a commit that referenced this pull request Feb 24, 2018
Display git errors during authentication.

Certain git errors during authentication were being converted to internal errors which meant that they are only seen if you pass `--verbose`.  This may not be obvious, and many of these messages are helpful for diagnosing git errors.  This change makes these errors always be displayed.

Fixes #5035.

Note: Some of the git errors are currently unhelpful.  Once Cargo has updated git2-rs to include alexcrichton/git2-rs#298, these errors will improve.  (@alexcrichton, I can make a PR to update Cargo for the changes in git2 if you'd like).

I'm uncertain if this is a good solution, since the error messages in some cases are a little verbose (such as showing `class=...`).  Here is a sample of what some of the messages look like:

<details><summary>Error Message Examples</summary>
<p>
Example of the git message shown below the "attempted yadda yadda" message.

Scenario | Message
---------|--------
No ssh-agent, multiple usernames | `error authenticating: ; class=Ssh (23)`
| | †`error authenticating: no auth sock variable; class=Ssh (23)`
No ssh-agent, one username | `an unknown git error occurred`
| | †`error authenticating: no auth sock variable; class=Ssh (23)`
Incorrect ssh-agent setup | `error authenticating: failed connecting with agent; class=Ssh (23)`
ssh-agent no keys, one username | `an unknown git error occurred`
| | †`failed to acquire username/password from local configuration`
ssh-agent no keys, multiple usernames | `error authenticating: ; class=Ssh (23)`
| | †`no authentication available`
auth success, bad path | `fatal: '/path/to/repo/' does not appear to be a git repository; class=Ssh (23); code=Eof (-20)`
| | ‡`ERROR: Repository not found.; class=Ssh (23); code=Eof (-20)`
bad username | `an unknown git error occurred`
| | †`failed to acquire username/password from local configuration`
| | ‡`error authenticating: Username/PublicKey combination invalid; class=Ssh (23)`

† - Messages once git2-rs is updated.
‡ - Github message

</p>
</details>
@bors
Copy link
Contributor

bors commented Feb 24, 2018

☀️ Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing f75f403 to master...

@bors bors merged commit f66fe2c into rust-lang:master Feb 24, 2018
@ehuss ehuss added this to the 1.26.0 milestone Feb 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Very bad diagnostics when git fetching using SSH
4 participants