Re: Bug in git-gui
- From
- Clemens Haffner <c.f.haffner@gmail.com>
- Date
- Sep 29, 2024, 18:35 UTC
- Message-ID
- <f72b003b-a3fa-4750-82f2-96402053f56e@gmail.com>
- In-Reply-To
- <d0c95c24-232f-196c-bf19-5f8ee89e246c@gmx.de>
Hi Johannes,
you were on the right track:
- if I set the env variable (as a normal Windows Enviroinment variable) to
c:/Program Files/Git/mingw64/bin/git-askpass.exe
the GUI does indeed (almost) work as intended. Almost, because while git-askpass is running, a console window is open in the background. ssh works though.
- however, with the variable set to this, git bash does not work anymore (waits infinitely on commands like "git push"). It doesnt even work when set to mingw-style
/c/Program Files/Git/mingw64/bin/git-askpass.exe
- If I start git-gui from within the mingw bash, it does even work without the variable set. (The console window still appears though).
So, to fix this git-gui needs to be aware of the enviroinment variable when launched through the start menu.
I'm not familiar with the source code, but I guess
git-gui/windows/git-gui.sh
would be the file that is responsible for that.
Greetings,
Clemens
Am 29.09.2024 um 19:44 schrieb Johannes Schindelin:
Show 67 quoted lines
> Hi Clements, > > On Sun, 29 Sep 2024, Johannes Schindelin wrote: > >> On Sun, 29 Sep 2024, Clemens Haffner wrote: >> >>> I think I found a bug in git-gui on Windows (Windows 10 64 bit) >>> >>> git-gui Version 0.21.GITGUI >>> git Version: 2.44.0.windows.1 >>> >>> To reproduce: (I have not tested it with rsa keys) >>> >>> - Create an ed25519 key with a passphrase (--> .ssh/id_ed25519). Help->Show >>> ssh key detects that key perfectly and shows the Public key to copy >>> - Push something to a repository: >>> --> it will fail. >>> >>>> Pushing to xxx.xxx:clemens/test_repo.git >>>> CreateProcessW failed error:193 >>>> ssh_askpass: posix_spawnp: Unknown error >>>> git@git.xxx.xxx: Permission denied (publickey). >> This might be due to the `SSH_ASKPASS` environment variable pointing to a >> Unix-style path, but your SSH not being Unix-path-aware. >> >> Can you verify that your `SSH_ASKPASS` environment variable is set to >> `/mingw64/bin/git-askpass.exe`? If so, can you set it to `/c/Program >> Files/Git/mingw64/bin/git-askpass.exe` instead and try again? > Oh, make that `c:/Program Files/Git/mingw64/bin/git-askpass.exe`, i.e. a > Windows-style path but with forward slashes as directory separators. > > Ciao, > Johannes > >>>> fatal: Could not read from remote repository. >>>> >>>> Please make sure you have the correct access rights >>>> and the repository exists. >>> - When using a key without a passphrase, it works perfectly well. >>> - When using ssh-agent with a key that uses a passphrase, it also works well. >>> >>>> Pushing to git.xxx.xxx:clemens/test_repo.git >>>> To git.xxx.xxx:clemens/test_repo.git >>>> = [up to date] rev1 -> rev1 >>>> updating local tracking ref 'refs/remotes/origin/rev1' >>>> Everything up-to-date >>> this bug must be in git gui, as it works perfectly fine via git bash. >>> >>> "git push" spawns a new window, which asks for the passphrase. After entering >>> the phrase git works as intended. >>> >>> It seems to me that the git gui cant spawn that window where it asks for the >>> key. >>> >>> If that helps: >>> I'm using Microsofts OpenSSH implementation: >>> >>>> $ ssh -V >>>> OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2 >>> Greetings, >>> Clemens Haffner >>> >>> >>> >>> >>> >>>