Re: [PATCH 3/3] fallback SSH_ASKPASS when GIT_ASKPASS not set
- From
Erik Faye-Lund <kusmabite@googlemail.com>
- Date
- Feb 24, 2010, 15:34 UTC
- Message-ID
- <40aa078e1002240734u1ef6364fp16fbce50caf575bd@mail.gmail.com>
- In-Reply-To
- <1267024554-3288-1-git-send-email-lznuaa@gmail.com>
On Wed, Feb 24, 2010 at 4:15 PM, Frank Li <lznuaa@gmail.com> wrote:
> If GIT_ASKPASS is not set and SSH_ASKPASS set, GIT_ASKPASS will > use SSH_ASKPASS. If GIT_ASKPASS set and SSH_ASKPASS is not set, > SSH_ASKPASS will use GIT_ASKPASS. >
Since there's a maximum total size of the environment on Windows (64kib), perhaps it's better to not increase the environment-size more than necessary and instead check both variables when used? I must admit doing so gives me a kind of yuck-feeling, but at least it should also make non-builtins (like git-svn, which AFAICT is what you're fixing) work consistently even if it's not called through the git-wrapper...
Show 29 quoted lines
> Signed-off-by: Frank Li <lznuaa@gmail.com>
> ---
> git.c | 5 +++++
> 1 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/git.c b/git.c
> index 90c6daf..39e1eba 100644
> --- a/git.c
> +++ b/git.c
> @@ -54,6 +54,11 @@ static int handle_options(const char ***argv, int *argc, int *envchanged)
> {
> int handled = 0;
>
> + if (getenv("GIT_ASKPASS") && !getenv("SSH_ASKPASS"))
> + setenv("SSH_ASKPASS", getenv("GIT_ASKPASS"), 1);
> + if (!getenv("GIT_ASKPASS") && getenv("SSH_ASKPASS"))
> + setenv("GIT_ASKPASS", getenv("SSH_ASKPASS"), 1);
> +
> while (*argc > 0) {
> const char *cmd = (*argv)[0];
> if (cmd[0] != '-')
> --
> 1.7.0.85.g37fda.dirty
>
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>-- Erik "kusma" Faye-Lund