disable interactive prompting
Hi,
Waiting for git-push synchronously slows me down, so I have a bash alias/function to do this in the background. But when my origin is https, I get an undesired interactive prompt. I've tried to disable by redirecting stdin:
git push ${REMOTE} ${BRANCH} &>/dev/null </dev/null
but I still get an interactive prompt.
Is there a way to either
1. disable interactive prompting
2. programmatically determine whether a git command (or at least a git push) would interactively prompt
Thanks,
Ernesto
Hi Ernesto,
Quoted 7 lines · Ernesto Alfonso
Waiting for git-push synchronously slows me down, so I have a bash alias/function to do this in the background. But when my origin is https, I get an undesired interactive prompt. I've tried to disable by redirecting stdin:
git push ${REMOTE} ${BRANCH} &>/dev/null <
/dev/null
Quoted 7 lines
but I still get an interactive prompt.
Is there a way to either
1. disable interactive prompting
2. programmatically determine whether a git command (or at least a git push) would interactively prompt
You left out an important detail: what does the interactive prompt in question say?
The general question is also interesting, but seeing the particular prompt would make it easy to look into the specific case at the same time.
Thanks,
Jonathan
Hi,
The prompt asks for my https username/password:
Quoted 11 lines
$ grv origin https://github.com/user/dotemacs (fetch) origin https://github.com/user/dotemacs (push) $ gpom [1] 22549 $ Username for 'https://github.com': $ fg { git push origin master &>/dev/null < /dev/null; LAST=$?; test 0 -eq $LAST || echo "gpom failed with $LAST !"; } Password for 'https://asd,[email protected]': gpom failed with 128 ! $
Thanks,
Ernesto
Quoted 28 lines · Jonathan Nieder
Hi Ernesto,
Quoted 7 lines · Ernesto Alfonso
Waiting for git-push synchronously slows me down, so I have a bash alias/function to do this in the background. But when my origin is https, I get an undesired interactive prompt. I've tried to disable by redirecting stdin:
git push ${REMOTE} ${BRANCH} &>/dev/null <
/dev/nullQuoted 7 lines
but I still get an interactive prompt.
Is there a way to either
1. disable interactive prompting
2. programmatically determine whether a git command (or at least a git push) would interactively promptYou left out an important detail: what does the interactive prompt in question say?
The general question is also interesting, but seeing the particular prompt would make it easy to look into the specific case at the same time.
Thanks,
Jonathan
Quoted 7 lines · Ernesto Alfonso
Waiting for git-push synchronously slows me down, so I have a bash alias/function to do this in the background. But when my origin is https, I get an undesired interactive prompt. I've tried to disable by redirecting stdin:
git push ${REMOTE} ${BRANCH} &>/dev/null <
/dev/null
Quoted 7 lines
but I still get an interactive prompt.
Is there a way to either
1. disable interactive prompting
2. programmatically determine whether a git command (or at least a git push) would interactively prompt
I assume the prompt is for credentials, since that's generally the only thing git-push will prompt for.
Try:
$ git help git | sed -ne '/PROMPT/,/^$/p'
GIT_TERMINAL_PROMPT
If this environment variable is set to 0, git will not prompt on
the terminal (e.g., when asking for HTTP authentication).Of course that just stops the prompting. If Git needs a credential and you don't provide it, then the push will fail.
For advice on that that, try "git help credentials".
-Peff
Thanks for pointing out the option.
I tried "git help push" and searched for "prompt", "interactive", "credentials"...
I don't think I would have figured to try
"git help git" from "git help" even after reading it carefully.
I'd suggest adding a hint in "git help".
I also don't seem have the GIT_TERMINAL_PROMPT in "git version 1.8.3.1" but I can fix this.
Thanks,
Ernesto
Quoted 33 lines · Jeff King
Quoted 7 lines · Ernesto Alfonso
Waiting for git-push synchronously slows me down, so I have a bash alias/function to do this in the background. But when my origin is https, I get an undesired interactive prompt. I've tried to disable by redirecting stdin:
git push ${REMOTE} ${BRANCH} &>/dev/null <
/dev/nullQuoted 7 lines
but I still get an interactive prompt.
Is there a way to either
1. disable interactive prompting
2. programmatically determine whether a git command (or at least a git push) would interactively promptI assume the prompt is for credentials, since that's generally the only thing git-push will prompt for.
Try:
$ git help git | sed -ne '/PROMPT/,/^$/p' GIT_TERMINAL_PROMPT If this environment variable is set to 0, git will not prompt on the terminal (e.g., when asking for HTTP authentication).Of course that just stops the prompting. If Git needs a credential and you don't provide it, then the push will fail.
For advice on that that, try "git help credentials".
-Peff