Re: Push from an SSH Terminal
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:52:56
Jeff King [off-list ref] writes:
On Fri, Feb 03, 2012 at 11:47:11PM -0800, Junio C Hamano wrote:quoted
Jeff King [off-list ref] writes: ... How well would it mesh with the goal of the ss/git-svn-prompt-sans-terminal topic, which is now stalled [*1*]? I do not mean this change and the other topic textually conflict with each other---but the philosophies of this topic and the other one seem to conflict.I don't see a conflict in the two series. That one seems to do two things for perl programs ...
That is the "[not] textually conflict" part of my message.
If you look into the original complaint mentioned in the commit messages, though, you will see that the some GUIs will appear to hang when the terminal is prompted (because the prompt is reading from some location invisible to the user). So in that sense, my patches could be a regression for those users, as outright failing is better for them.
Yes, that is what I meant by "philosophies conflict".
But I would argue that the bug is not prompting on the terminal, but rather that the terminal-prompting code does not recognize when there is no terminal connection to the user (and AFAICT, this is a Windows problem). Any solution that doesn't fix that is really just papering over the problem, and hurting people[1] on sane systems. So I'd rather see the version of getpass() in compat/mingw.c better learn to realize when we aren't actually connected to a console.
That is a sane diagnosis, I'd have to agree. Thanks for a dose of sanity.
[1] The amount of hurt is relatively small, though. It only hurts people
who set GIT_ASKPASS but can't use it (e.g., you set it in your
.bashrc because you connect via "ssh -X", but this time you happen
to be ssh-ing from a Windows box). And you can generally fix that
outside of git (e.g., by checking $DISPLAY before setting the
variable).
So one one hand, I don't want to make a decision on behavior for
Unix users because we have to cater to Windows shortcomings. On the
other hand, while fixing the root problem is preferable, if
for whatever reason we can't reliably find out whether the user is
actually going to see and respond to the prompt on Windows, it may
be practical to just paper over the issue. On the gripping hand,
after the Sven's series, TortoiseGit users would see the hang
(instead of a failure) _only_ if their askpass command failed. Which
is also perhaps not that big a deal.Wow, you do have many hands ;-).