Re: Bug in git-gui

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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:
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@xxxxxxxxxxx: 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










[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux