Set `GIT_TERMINAL_PROMPT=0` env var in initializer
Summary
I fount this today while spawning sidekiq workers manually to deal with large queues.
Turns out that when we are fetching from a remote git server to update the mirror, if we fail auth git will prompt for a password locking the worker completely.
I took a sample (but saw many, many, many of these)
Steps to reproduce
Configure mirror for a remote repo, then change the password so auth fails.
Or just remove the password from the remote url manually.
Expected behavior
We should not block background workers ever.
Actual behavior
This locks a sidekiq runner completely because it gets in interactive mode.
Relevant logs and/or screenshots
2016-11-04T13:30:27.818Z 9255 TID-oxoqvw0f0 INFO: Running in ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
2016-11-04T13:30:27.818Z 9255 TID-oxoqvw0f0 INFO: See LICENSE and the LGPL-3.0 for licensing details.
2016-11-04T13:30:27.818Z 9255 TID-oxoqvw0f0 INFO: Upgrade to Sidekiq Pro for more features and support: http://sidekiq.org
2016-11-04T13:30:27.820Z 9255 TID-oxoqvw0f0 INFO: Starting processing, hit Ctrl-C to stop
2016-11-04T13:30:27.843Z 9255 TID-oxoop4si0 RepositoryUpdateMirrorWorker JID-475e3eddc67a3889ca73c957 INFO: start
Username for 'https://github.com':
Possible fixes
Use GIT_TERMINAL_PROMPT=0 every time we shell out with git to prevent this from affecting us anywhere.
http://serverfault.com/questions/544156/git-clone-fail-instead-of-prompting-for-credentials