gitui icon indicating copy to clipboard operation
gitui copied to clipboard

bad credentials despite normal cli being fine

Open jamesb93 opened this issue 4 years ago • 81 comments

Describe the bug I can push from the command line normally git push, but pushing within gitui always fails due to 'bad credentials'.

To Reproduce Commit some changes in gitui, press p to trigger a push. It always fails.

Expected behavior Pushing should succeed as my ssh key is valid and works outside of gitui.

Screenshots If applicable, add screenshots to help explain your problem.

Context (please complete the following information):

  • OS/Distro : macOS 11, arm m1
  • GitUI Version: 0.11.0
  • Rust version: 1.49 stable

Additional context gitui installed from cargo.

jamesb93 avatar Jan 17 '21 12:01 jamesb93

The same. Mac OS 10.15.4 GitUI version 0.11.0 (installed via brew)

dmytro-tolkodubov avatar Jan 19 '21 09:01 dmytro-tolkodubov

Unfortunately I cannot reproduce the issue. Anything special about the way you push?

extrawurst avatar Jan 19 '21 10:01 extrawurst

Thanks for a quick reply, Stephan! Anything special about the way you push --> nope, just pressing p once commited and ready to push.

dmytro-tolkodubov avatar Jan 19 '21 10:01 dmytro-tolkodubov

i think the issues is in the fact gitui does git push <branch_name> instead of git push origin <branch_name>. Is there any way to make the latter the default push option?

dmytro-tolkodubov avatar Jan 19 '21 10:01 dmytro-tolkodubov

can you share the way your remote is setup in .git/config? for it looks like:

[remote "origin"]
        url = [email protected]:extrawurst/gitui.git

extrawurst avatar Jan 19 '21 10:01 extrawurst

i think the issues is in the fact gitui does git push <branch_name> instead of git push origin <branch_name>. Is there any way to make the latter the default push option?

since you use the brew-version it only supports pushing to origin right now

extrawurst avatar Jan 19 '21 10:01 extrawurst

My remote is setup in this way:

[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true precomposeunicode = true [remote "origin"] url = [email protected]:**/pipeline-base.git fetch = +refs/heads/:refs/remotes/origin/ [branch "develop"] remote = origin merge = refs/heads/develop [branch "release/1.12.0"] remote = origin merge = refs/heads/release/1.12.0 [branch "release/1.12.1"] remote = origin merge = refs/heads/release/1.12.1

And if i do git push <branch_name> from the cli, i get **fatal: 'test' does not appear to be a git repository fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.** --> which results in bed credentials in gitui i think. But if i do git push origin <branch_name> all works fine. Might be something with my git setup, but so far was working like a charm. Thanks

dmytro-tolkodubov avatar Jan 19 '21 10:01 dmytro-tolkodubov

@dmytro-tolkodubov I cannot see anything obviously problematic unfortunately. Could you run gitui -l so that it writes to the log file and share if there is anything more telling in there?

extrawurst avatar Jan 19 '21 10:01 extrawurst

@extrawurst did execute with -l flag, but can't find the file with with the log output :).

dmytro-tolkodubov avatar Jan 19 '21 10:01 dmytro-tolkodubov

@extrawurst did execute with -l flag, but can't find the output where the log should have been saved to :).

https://github.com/extrawurst/gitui#diagnostics

extrawurst avatar Jan 19 '21 10:01 extrawurst

Ah, thanks! This is what i see there:

tail $HOME/Library/Caches/gitui/gitui.log
10:48:45 [TRACE] (1) gitui::app: [src/app.rs:278] update
10:48:45 [TRACE] (1) asyncgit::diff: [asyncgit/src/diff.rs:93] request
10:48:45 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:95] request: [hash: 14046281010676946994] (type: WorkingDir, untracked: true)
10:48:45 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:95] request: [hash: 6842313692465843766] (type: Stage, untracked: true)
10:48:45 [TRACE] (3) asyncgit::status: [asyncgit/src/status.rs:152] status fetched: 14046281010676946994 (type: WorkingDir, untracked: true)
10:48:45 [TRACE] (5) asyncgit::status: [asyncgit/src/status.rs:152] status fetched: 6842313692465843766 (type: Stage, untracked: true)
10:48:45 [TRACE] (1) gitui::app: [src/app.rs:295] update_git: Diff
10:48:45 [TRACE] (1) gitui::app: [src/app.rs:295] update_git: Status
10:48:45 [TRACE] (1) gitui::app: [src/app.rs:295] update_git: Status
10:48:46 [TRACE] (1) gitui::app: [src/app.rs:212] event: Input(Key(KeyEvent { code: Char('c'), modifiers: CONTROL }))

dmytro-tolkodubov avatar Jan 19 '21 10:01 dmytro-tolkodubov

you did not try to push in that session

extrawurst avatar Jan 19 '21 10:01 extrawurst

i think i did, here is the error line (did not paste the whole log, it is a bit bigger)

10:48:35 [TRACE] (1) gitui::app: [src/app.rs:278] update
10:48:35 [TRACE] (1) asyncgit::diff: [asyncgit/src/diff.rs:93] request
10:48:35 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:95] request: [hash: 8133653752159640044] (type: WorkingDir, untracked: true)
10:48:35 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:95] request: [hash: 16630248863231777639] (type: Stage, untracked: true)
10:48:35 [TRACE] (2) asyncgit::status: [asyncgit/src/status.rs:152] status fetched: 16630248863231777639 (type: Stage, untracked: true)
10:48:35 [TRACE] (5) asyncgit::status: [asyncgit/src/status.rs:152] status fetched: 8133653752159640044 (type: WorkingDir, untracked: true)
10:48:35 [TRACE] (1) gitui::app: [src/app.rs:295] update_git: Diff
10:48:35 [TRACE] (1) gitui::app: [src/app.rs:295] update_git: Status
10:48:35 [TRACE] (1) gitui::app: [src/app.rs:295] update_git: Status
10:48:39 [DEBUG] (7) asyncgit::sync::remotes: creds: '[email protected]:***/pipeline-base.git' Some("git") (SSH_KEY | SSH_MEMORY | SSH_CUSTOM)
10:48:40 [DEBUG] (7) asyncgit::sync::remotes: creds: '[email protected]:***/pipeline-base.git' Some("git") (SSH_KEY | SSH_MEMORY | SSH_CUSTOM)
10:48:40 [INFO] push progress: Some(PushProgress { state: Pushing, progress: 100 })
10:48:40 [TRACE] (1) gitui::app: [src/app.rs:295] update_git: Push
10:48:40 [ERROR] push error: git error:Bad credentials.

dmytro-tolkodubov avatar Jan 19 '21 10:01 dmytro-tolkodubov

Ok I have no idea what's happening there. Maybe @jamesb93 can check the config and log, too.

extrawurst avatar Jan 19 '21 11:01 extrawurst

Thanks for the great tool though!

dmytro-tolkodubov avatar Jan 19 '21 11:01 dmytro-tolkodubov

Thanks man, the push feature is still quiet new and there are so many flavours of how this can fail, but I am sure we will find the culprit of this.

Two things for you to keep in mind: a) if you have credentials you don't want to share in a post here, the first post matters as every subscriber might receive the original version as an email. b) use ``` to annotate code/logs whatever for better readability.

extrawurst avatar Jan 19 '21 11:01 extrawurst

Thanks! There were no creds, but some info i thought i would not publish, not something confidential :) b) use ``` to annotate code/logs whatever for better readability. I used that each time, but did not like the formatting, the config lines spilt, etc - hence had to stick to pure formatting.

dmytro-tolkodubov avatar Jan 19 '21 11:01 dmytro-tolkodubov

Same issue on macOS, but Linux works fine. Using 0.11.0 installed from nixpkgs.

My config:

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
        precomposeunicode = true
[remote "origin"]
        url = [email protected]:austinbutler/home-manager.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

Log:

23:06:19 [TRACE] (1) gitui::app: [src/app.rs:212] event: Input(Key(KeyEvent { code: Char('p'), modifiers: NONE }))
23:06:19 [TRACE] (1) asyncgit::push: [asyncgit/src/push.rs:140] request
23:06:19 [INFO] push progress: None
23:06:19 [TRACE] (1) gitui::app: [src/app.rs:278] update
23:06:19 [INFO] push progress receiver spawned
23:06:19 [TRACE] (1) asyncgit::diff: [asyncgit/src/diff.rs:93] request
23:06:19 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:95] request: [hash: 12116648514797157301] (type: WorkingDir, untracked: true)
23:06:19 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:95] request: [hash: 9610033249583839640] (type: Stage, untracked: true)
23:06:19 [TRACE] (4) asyncgit::status: [asyncgit/src/status.rs:152] status fetched: 9610033249583839640 (type: Stage, untracked: true)
23:06:19 [TRACE] (3) asyncgit::status: [asyncgit/src/status.rs:152] status fetched: 12116648514797157301 (type: WorkingDir, untracked: true)
23:06:19 [TRACE] (1) gitui::app: [src/app.rs:295] update_git: Diff
23:06:19 [TRACE] (1) gitui::app: [src/app.rs:295] update_git: Status
23:06:19 [TRACE] (1) gitui::app: [src/app.rs:295] update_git: Status
23:06:19 [TRACE] (1) gitui::app: [src/app.rs:278] update
23:06:19 [TRACE] (1) asyncgit::diff: [asyncgit/src/diff.rs:93] request
23:06:19 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:95] request: [hash: 6258322933600415971] (type: WorkingDir, untracked: true)
23:06:19 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:95] request: [hash: 15050898553161509101] (type: Stage, untracked: true)
23:06:19 [TRACE] (4) asyncgit::status: [asyncgit/src/status.rs:152] status fetched: 15050898553161509101 (type: Stage, untracked: true)
23:06:19 [TRACE] (3) asyncgit::status: [asyncgit/src/status.rs:152] status fetched: 6258322933600415971 (type: WorkingDir, untracked: true)
23:06:19 [TRACE] (1) gitui::app: [src/app.rs:295] update_git: Diff
23:06:19 [TRACE] (1) gitui::app: [src/app.rs:295] update_git: Status
23:06:19 [TRACE] (1) gitui::app: [src/app.rs:295] update_git: Status
23:06:19 [DEBUG] (7) asyncgit::sync::remotes: creds: '[email protected]:austinbutler/home-manager.git' Some("git") (SSH_KEY | SSH_MEMORY | SSH_CUSTOM | SSH_INTERACTIVE)
23:06:19 [DEBUG] (7) asyncgit::sync::remotes: creds: '[email protected]:austinbutler/home-manager.git' Some("git") (SSH_KEY | SSH_MEMORY | SSH_CUSTOM | SSH_INTERACTIVE)
23:06:19 [INFO] push progress: Some(PushProgress { state: Pushing, progress: 100 })
23:06:19 [TRACE] (1) gitui::app: [src/app.rs:295] update_git: Push
23:06:20 [ERROR] push error: git error:Bad credentials.
23:06:20 [TRACE] (1) gitui::app: [src/app.rs:295] update_git: Push
23:06:20 [TRACE] (1) gitui::app: [src/app.rs:278] update
23:06:20 [TRACE] (1) asyncgit::diff: [asyncgit/src/diff.rs:93] request
23:06:20 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:95] request: [hash: 12063500518878365465] (type: WorkingDir, untracked: true)
23:06:20 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:95] request: [hash: 1608129730030349621] (type: Stage, untracked: true)
23:06:20 [TRACE] (4) asyncgit::status: [asyncgit/src/status.rs:152] status fetched: 1608129730030349621 (type: Stage, untracked: true)
23:06:20 [TRACE] (3) asyncgit::status: [asyncgit/src/status.rs:152] status fetched: 12063500518878365465 (type: WorkingDir, untracked: true)
23:06:20 [TRACE] (1) gitui::app: [src/app.rs:295] update_git: Diff
23:06:20 [TRACE] (1) gitui::app: [src/app.rs:295] update_git: Status
23:06:20 [TRACE] (1) gitui::app: [src/app.rs:295] update_git: Status
23:06:21 [TRACE] (1) gitui::app: [src/app.rs:212] event: Input(Key(KeyEvent { code: Esc, modifiers: NONE }))
❯ git push master
fatal: 'master' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
❯ git push origin master
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 294 bytes | 294.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
To gitlab.com:austinbutler/home-manager-work.git
   5e49466..5fcf4f2  master -> master

austinbutler avatar Jan 19 '21 23:01 austinbutler

Hi, same Problem here on Windows 10 using Windows Terminal.

Can't provide a Log, because Log Folder is not documented for Windows.

image

[remote "origin"]
        url = https://[...]
        fetch = +refs/heads/*:refs/remotes/origin/*

ser-drephs avatar Mar 10 '21 12:03 ser-drephs

@ser-drephs

Can't provide a Log, because Log Folder is not documented for Windows.

dirs-next docs say it is supposed to be here: {FOLDERID_LocalAppData} keep in mind that you still need to run gitui -l to produce logging.

would be cool if you could validate this on windows and make PR for the readme to extend the documentation for where to find the win logs

extrawurst avatar Mar 10 '21 13:03 extrawurst

@extrawurst created PR #579 for readme.

ser-drephs avatar Mar 10 '21 15:03 ser-drephs

Log:

15:22:24 [ERROR] failed loading key binding: missing field `rename_branch`
15:22:24 [TRACE] (1) gitui::app: [src\app.rs:278] update
15:22:24 [TRACE] (1) asyncgit::status: [asyncgit\src\status.rs:95] request: [hash: 13786298131209757784] (type: WorkingDir, untracked: true)
15:22:24 [TRACE] (1) asyncgit::status: [asyncgit\src\status.rs:95] request: [hash: 60621207339198373] (type: Stage, untracked: true)
15:22:24 [TRACE] (1) gitui::app: [src\app.rs:212] event: Input(Resize(198, 40))
15:22:25 [TRACE] (3) asyncgit::status: [asyncgit\src\status.rs:152] status fetched: 60621207339198373 (type: Stage, untracked: true)
15:22:25 [TRACE] (1) gitui::app: [src\app.rs:295] update_git: Status
15:22:29 [TRACE] (1) gitui::app: [src\app.rs:212] event: Input(Key(KeyEvent { code: Char('p'), modifiers: NONE }))
15:22:29 [DEBUG] (1) git2::cred: executing credential helper "sh" "-c" "git credential-wincred get"
15:22:29 [DEBUG] (1) git2::cred: `sh` failed to spawn: Das System kann die angegebene Datei nicht finden. (os error 2)
15:22:29 [DEBUG] (1) git2::cred: executing credential helper "git" "credential-wincred" "get"
15:22:29 [TRACE] (1) git2::cred: [C:\Users\runneradmin\.cargo\registry\src\github.com-1ecc6299db9ec823\git2-0.13.12\src\cred.rs:403] credential helper stderr ---

15:22:29 [TRACE] (1) git2::cred: [C:\Users\runneradmin\.cargo\registry\src\github.com-1ecc6299db9ec823\git2-0.13.12\src\cred.rs:421] ignoring output line: 
15:22:29 [TRACE] (1) asyncgit::push: [asyncgit\src\push.rs:140] request
15:22:29 [INFO] push progress: None
15:22:29 [TRACE] (1) gitui::app: [src\app.rs:278] update
15:22:29 [INFO] push progress receiver spawned
15:22:29 [TRACE] (1) asyncgit::status: [asyncgit\src\status.rs:89] request blocked, still pending
15:22:29 [TRACE] (1) asyncgit::status: [asyncgit\src\status.rs:95] request: [hash: 10069514427976502005] (type: Stage, untracked: true)
15:22:29 [DEBUG] (7) asyncgit::sync::remotes: creds: 'https://[...]' None (USER_PASS_PLAINTEXT | DEFAULT)
15:22:29 [INFO] push progress: Some(PushProgress { state: Pushing, progress: 100 })
15:22:29 [TRACE] (1) gitui::app: [src\app.rs:295] update_git: Push
15:22:29 [TRACE] (1) gitui::app: [src\app.rs:278] update
15:22:29 [TRACE] (1) asyncgit::status: [asyncgit\src\status.rs:89] request blocked, still pending
15:22:29 [TRACE] (1) asyncgit::status: [asyncgit\src\status.rs:89] request blocked, still pending
15:22:29 [TRACE] (3) asyncgit::status: [asyncgit\src\status.rs:152] status fetched: 10069514427976502005 (type: Stage, untracked: true)
15:22:29 [TRACE] (1) gitui::app: [src\app.rs:295] update_git: Status
15:22:29 [ERROR] push error: git error:failed to set credentials: Falscher Parameter.
; class=Os (2)
15:22:29 [TRACE] (1) gitui::app: [src\app.rs:295] update_git: Push
15:22:29 [TRACE] (1) gitui::app: [src\app.rs:278] update
15:22:29 [TRACE] (1) asyncgit::status: [asyncgit\src\status.rs:89] request blocked, still pending
15:22:29 [TRACE] (1) asyncgit::status: [asyncgit\src\status.rs:95] request: [hash: 6192809872892578921] (type: Stage, untracked: true)
15:22:30 [TRACE] (3) asyncgit::status: [asyncgit\src\status.rs:152] status fetched: 6192809872892578921 (type: Stage, untracked: true)
15:22:30 [TRACE] (1) gitui::app: [src\app.rs:295] update_git: Status

ser-drephs avatar Mar 10 '21 15:03 ser-drephs

Platform: OSX 10.15.7 gitui: 0.12 at b5ef9b10f1e0e6e0c21a55d9083b4e40c1f759b8 rustc 1.50.0 (cb75ad5db 2021-02-10)

Same here. Our git repo lives behind VPN. If I try to pull/push without connecting to it from console it will yield error after some timeout.

ssh: connect to host gitlab.domain.com port 22: Operation timed out
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

But when I am connected it fetch/push just fine from console, but gitui for some reason fails and displays two modal windows:

  1. fetch failed. git error: Bad credentials., there's Close [⏎] hint on the command panel. Works just fine
  2. pull : done - displayed when the first one closed, also shows Close [⏎] hint but do not react to it.
10:38:30 [TRACE] (6) mio::poll: [/Users/user/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.7.9/src/poll.rs:478] registering event source with poller: token=Token(0), interests=READABLE
10:38:30 [TRACE] (1) gitui::app: [src/app.rs:294] update
10:38:30 [TRACE] (6) mio::poll: [/Users/user/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.7.9/src/poll.rs:478] registering event source with poller: token=Token(1), interests=READABLE
10:38:30 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:95] request: [hash: 10118950357809785858] (type: WorkingDir, untracked: true)
10:38:30 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:95] request: [hash: 8626102265759462768] (type: Stage, untracked: true)
10:38:31 [TRACE] (3) asyncgit::status: [asyncgit/src/status.rs:152] status fetched: 8626102265759462768 (type: Stage, untracked: true)
10:38:31 [TRACE] (1) gitui::app: [src/app.rs:312] update_git: Status
10:38:31 [TRACE] (2) asyncgit::status: [asyncgit/src/status.rs:152] status fetched: 10118950357809785858 (type: WorkingDir, untracked: true)
10:38:31 [TRACE] (1) gitui::app: [src/app.rs:312] update_git: Status
10:38:31 [TRACE] (1) asyncgit::diff: [asyncgit/src/diff.rs:90] request
10:38:31 [TRACE] (1) gitui::app: [src/app.rs:312] update_git: Diff
10:38:31 [TRACE] (1) asyncgit::diff: [asyncgit/src/diff.rs:90] request
10:38:32 [TRACE] (1) gitui::app: [src/app.rs:228] event: Input(Key(KeyEvent { code: Char('f'), modifiers: NONE }))
10:38:32 [TRACE] (1) asyncgit::fetch: [asyncgit/src/fetch.rs:70] request
10:38:32 [TRACE] (1) gitui::app: [src/app.rs:294] update
10:38:32 [TRACE] (1) asyncgit::diff: [asyncgit/src/diff.rs:90] request
10:38:32 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:95] request: [hash: 11179346055135384458] (type: WorkingDir, untracked: true)
10:38:32 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:95] request: [hash: 3478892476685171275] (type: Stage, untracked: true)
10:38:32 [DEBUG] (7) asyncgit::sync::remotes::push: creds: '[email protected]:corp/platform.git' Some("git") (USER_PASS_PLAINTEXT | SSH_KEY | SSH_MEMORY | SSH_CUSTOM)
10:38:32 [TRACE] (1) gitui::app: [src/app.rs:312] update_git: Diff
10:38:32 [DEBUG] (7) asyncgit::sync::remotes::push: creds: '[email protected]:corp/platform.git' Some("git") (USER_PASS_PLAINTEXT | SSH_KEY | SSH_MEMORY | SSH_CUSTOM)
10:38:32 [TRACE] (1) gitui::app: [src/app.rs:312] update_git: Fetch
10:38:32 [ERROR] fetch error: git error:Bad credentials.
10:38:32 [TRACE] (1) gitui::app: [src/app.rs:294] update
10:38:32 [TRACE] (1) asyncgit::diff: [asyncgit/src/diff.rs:90] request
10:38:32 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:89] request blocked, still pending
10:38:32 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:89] request blocked, still pending
10:38:32 [TRACE] (1) gitui::app: [src/app.rs:312] update_git: Fetch
10:38:32 [TRACE] (1) gitui::app: [src/app.rs:294] update
10:38:32 [TRACE] (1) asyncgit::diff: [asyncgit/src/diff.rs:90] request
10:38:32 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:89] request blocked, still pending
10:38:32 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:89] request blocked, still pending
10:38:32 [TRACE] (4) asyncgit::status: [asyncgit/src/status.rs:152] status fetched: 3478892476685171275 (type: Stage, untracked: true)
10:38:32 [TRACE] (1) gitui::app: [src/app.rs:312] update_git: Status
10:38:32 [TRACE] (1) gitui::app: [src/app.rs:312] update_git: Diff
10:38:32 [TRACE] (1) gitui::app: [src/app.rs:312] update_git: Diff
10:38:33 [TRACE] (3) asyncgit::status: [asyncgit/src/status.rs:152] status fetched: 11179346055135384458 (type: WorkingDir, untracked: true)
10:38:33 [TRACE] (1) gitui::app: [src/app.rs:312] update_git: Status
10:38:34 [TRACE] (1) gitui::app: [src/app.rs:228] event: Input(Key(KeyEvent { code: Enter, modifiers: NONE }))
10:38:35 [TRACE] (1) gitui::app: [src/app.rs:228] event: Input(Key(KeyEvent { code: Enter, modifiers: NONE }))
10:38:35 [TRACE] (1) gitui::app: [src/app.rs:228] event: Input(Key(KeyEvent { code: Enter, modifiers: NONE }))
10:38:35 [TRACE] (1) gitui::app: [src/app.rs:228] event: Input(Key(KeyEvent { code: Enter, modifiers: NONE }))
10:38:35 [TRACE] (1) gitui::app: [src/app.rs:294] update
10:38:35 [TRACE] (1) asyncgit::diff: [asyncgit/src/diff.rs:90] request
10:38:35 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:95] request: [hash: 12421105405156037469] (type: WorkingDir, untracked: true)
10:38:35 [TRACE] (1) asyncgit::status: [asyncgit/src/status.rs:95] request: [hash: 8962231771842165632] (type: Stage, untracked: true)
10:38:35 [TRACE] (1) gitui::app: [src/app.rs:312] update_git: Diff
10:38:36 [TRACE] (4) asyncgit::status: [asyncgit/src/status.rs:152] status fetched: 8962231771842165632 (type: Stage, untracked: true)
10:38:36 [TRACE] (1) gitui::app: [src/app.rs:312] update_git: Status
10:38:36 [TRACE] (1) gitui::app: [src/app.rs:228] event: Input(Key(KeyEvent { code: Enter, modifiers: NONE }))
10:38:36 [TRACE] (1) gitui::app: [src/app.rs:228] event: Input(Key(KeyEvent { code: Enter, modifiers: NONE }))
10:38:36 [TRACE] (3) asyncgit::status: [asyncgit/src/status.rs:152] status fetched: 12421105405156037469 (type: WorkingDir, untracked: true)
10:38:36 [TRACE] (1) gitui::app: [src/app.rs:312] update_git: Status
10:38:36 [TRACE] (1) gitui::app: [src/app.rs:228] event: Input(Key(KeyEvent { code: Enter, modifiers: NONE }))
10:38:36 [TRACE] (1) gitui::app: [src/app.rs:228] event: Input(Key(KeyEvent { code: Enter, modifiers: NONE }))
10:38:36 [TRACE] (1) gitui::app: [src/app.rs:228] event: Input(Key(KeyEvent { code: Enter, modifiers: NONE }))
10:38:37 [TRACE] (1) gitui::app: [src/app.rs:228] event: Input(Key(KeyEvent { code: Char('c'), modifiers: CONTROL }))

non-descriptive avatar Mar 11 '21 11:03 non-descriptive

Is it that you are using 2 factor authentication on github? i had the same problem and you need to generate a personal access token and enter that instead of your password

Tony1324 avatar Mar 19 '21 22:03 Tony1324

Enter that where?

jamesb93 avatar Mar 24 '21 18:03 jamesb93

We don't use 2fa, just regular ssh keys via vpn connection

non-descriptive avatar Mar 24 '21 19:03 non-descriptive

is this maybe a dup of #615 ?

extrawurst avatar May 04 '21 09:05 extrawurst

I have the same issue when connecting to a local git server through ssh

~/.cache/gitui/gitui.log
1:08:20 [TRACE] (1) gitui::app: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/gitui-0.15.0/src/app.rs:305] update
11:08:20 [TRACE] (6) mio::poll: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.7.11/src/poll.rs:478] registering event source with poller: token=Token(0), interests=READABLE
11:08:20 [TRACE] (6) mio::poll: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.7.11/src/poll.rs:478] registering event source with poller: token=Token(1), interests=READABLE
11:08:20 [TRACE] (1) asyncgit::status: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/asyncgit-0.15.0/src/status.rs:95] request: [hash: 16391627308970094886] (type: WorkingDir, untracked: true)
11:08:20 [TRACE] (1) asyncgit::status: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/asyncgit-0.15.0/src/status.rs:95] request: [hash: 14771127431235405847] (type: Stage, untracked: true)
11:08:20 [TRACE] (3) asyncgit::status: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/asyncgit-0.15.0/src/status.rs:152] status fetched: 16391627308970094886 (type: WorkingDir, untracked: true)
11:08:20 [TRACE] (2) asyncgit::status: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/asyncgit-0.15.0/src/status.rs:152] status fetched: 14771127431235405847 (type: Stage, untracked: true)
11:08:20 [TRACE] (1) gitui::app: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/gitui-0.15.0/src/app.rs:323] update_git: Status
11:08:20 [TRACE] (1) gitui::app: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/gitui-0.15.0/src/app.rs:323] update_git: Status
11:08:23 [TRACE] (1) gitui::app: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/gitui-0.15.0/src/app.rs:237] event: Input(Key(KeyEvent { code: Char('f'), modifiers: NONE }))
11:08:23 [TRACE] (1) asyncgit::fetch: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/asyncgit-0.15.0/src/fetch.rs:70] request
11:08:23 [TRACE] (1) gitui::app: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/gitui-0.15.0/src/app.rs:305] update
11:08:23 [TRACE] (1) asyncgit::status: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/asyncgit-0.15.0/src/status.rs:95] request: [hash: 9795538405874111103] (type: WorkingDir, untracked: true)
11:08:23 [TRACE] (1) asyncgit::status: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/asyncgit-0.15.0/src/status.rs:95] request: [hash: 3459803805977152553] (type: Stage, untracked: true)
11:08:23 [TRACE] (4) asyncgit::status: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/asyncgit-0.15.0/src/status.rs:152] status fetched: 3459803805977152553 (type: Stage, untracked: true)
11:08:23 [TRACE] (2) asyncgit::status: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/asyncgit-0.15.0/src/status.rs:152] status fetched: 9795538405874111103 (type: WorkingDir, untracked: true)
11:08:23 [TRACE] (1) gitui::app: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/gitui-0.15.0/src/app.rs:323] update_git: Status
11:08:23 [TRACE] (1) gitui::app: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/gitui-0.15.0/src/app.rs:323] update_git: Status
11:08:23 [DEBUG] (7) asyncgit::sync::remotes::push: creds: 'git.local:rust/homeweb.git' None (USERNAME)
11:08:23 [TRACE] (1) gitui::app: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/gitui-0.15.0/src/app.rs:323] update_git: Fetch
11:08:23 [ERROR] fetch error: git error:Couldn't find credentials
11:08:23 [TRACE] (1) gitui::app: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/gitui-0.15.0/src/app.rs:323] update_git: Fetch
11:08:23 [TRACE] (1) gitui::app: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/gitui-0.15.0/src/app.rs:305] update
11:08:23 [TRACE] (1) asyncgit::status: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/asyncgit-0.15.0/src/status.rs:95] request: [hash: 4756056286265376941] (type: WorkingDir, untracked: true)
11:08:23 [TRACE] (1) asyncgit::status: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/asyncgit-0.15.0/src/status.rs:95] request: [hash: 10548214982962411508] (type: Stage, untracked: true)
11:08:23 [TRACE] (3) asyncgit::status: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/asyncgit-0.15.0/src/status.rs:152] status fetched: 10548214982962411508 (type: Stage, untracked: true)
11:08:23 [TRACE] (2) asyncgit::status: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/asyncgit-0.15.0/src/status.rs:152] status fetched: 4756056286265376941 (type: WorkingDir, untracked: true)
11:08:23 [TRACE] (1) gitui::app: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/gitui-0.15.0/src/app.rs:323] update_git: Status
11:08:23 [TRACE] (1) gitui::app: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/gitui-0.15.0/src/app.rs:323] update_git: Status
11:08:25 [TRACE] (1) gitui::app: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/gitui-0.15.0/src/app.rs:305] update
11:08:25 [TRACE] (1) asyncgit::status: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/asyncgit-0.15.0/src/status.rs:95] request: [hash: 14028820768351457085] (type: WorkingDir, untracked: true)
11:08:25 [TRACE] (1) asyncgit::status: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/asyncgit-0.15.0/src/status.rs:95] request: [hash: 5226776624098862421] (type: Stage, untracked: true)
11:08:25 [TRACE] (4) asyncgit::status: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/asyncgit-0.15.0/src/status.rs:152] status fetched: 5226776624098862421 (type: Stage, untracked: true)
11:08:25 [TRACE] (2) asyncgit::status: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/asyncgit-0.15.0/src/status.rs:152] status fetched: 14028820768351457085 (type: WorkingDir, untracked: true)
11:08:25 [TRACE] (1) gitui::app: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/gitui-0.15.0/src/app.rs:323] update_git: Status
11:08:25 [TRACE] (1) gitui::app: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/gitui-0.15.0/src/app.rs:323] update_git: Status
11:08:26 [TRACE] (1) gitui::app: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/gitui-0.15.0/src/app.rs:237] event: Input(Key(KeyEvent { code: Enter, modifiers: NONE }))
11:08:27 [TRACE] (1) gitui::app: [/home/trangar/.cargo/registry/src/github.com-1ecc6299db9ec823/gitui-0.15.0/src/app.rs:237] event: Input(Key(KeyEvent { code: Char('c'), modifiers: CONTROL }))
.git/config
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = git.local:rust/homeweb.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

VictorKoenders avatar May 06 '21 11:05 VictorKoenders

I was able to fix this bad credentials issue by adding the following to ~/.ssh/config. User is important.

Host github
  Hostname github.com
  User git
  IdentityFile path/to/id/file

zenobht avatar May 26 '21 10:05 zenobht

ssh-add ~/.ssh/id_rsa - adding key(s) to ssh-agent fixed the error for me

frixaco avatar Jun 04 '21 19:06 frixaco