Subject: http.proxy seems to not be propagated on `submodule update`

From: Chris Down <[email-masked]>
Date: Wed, 10 Dec 2014 17:05:46 +0000

Hello,

I'm trying to recursively update submodules in a repo on a server that 
requires a proxy to access the internet.

I typically pass http.proxy with -c to tell git about the proxy, but 
with `submodule update`, it seems the argument isn't propagated and thus 
results in the process sitting doing nothing when it tries to connect.

Is this expected behaviour?

    cdown@dev023:dotfiles:linux$ GIT_TRACE=2 git -c http.proxy=fwdproxy.any:8080 submodule update --init --recursive
    trace: exec: 'git-submodule' 'update' '--init' '--recursive'
    trace: run_command: 'git-submodule' 'update' '--init' '--recursive'
    trace: built-in: git 'rev-parse' '--git-dir'
    trace: built-in: git 'rev-parse' '--show-cdup'
    trace: built-in: git 'rev-parse' '-q' '--git-dir'
    trace: built-in: git 'rev-parse' '--sq-quote' '--init'
    trace: built-in: git 'rev-parse' '--sq-quote' '--recursive'
    trace: built-in: git 'ls-files' '--error-unmatch' '--stage' '--'
    trace: built-in: git 'config' '-f' '.gitmodules' '--get-regexp' '^submodule\..*\.path$'
    trace: built-in: git 'config' 'submodule..vim/bundle/auto-save.url'
    trace: built-in: git 'config' '-f' '.gitmodules' 'submodule..vim/bundle/auto-save.update'
    trace: built-in: git 'config' '-f' '.gitmodules' '--get-regexp' '^submodule\..*\.path$'
    trace: built-in: git 'config' 'submodule..vim/bundle/ctrlp.url'
    trace: built-in: git 'config' '-f' '.gitmodules' 'submodule..vim/bundle/ctrlp.update'
    trace: built-in: git 'config' '-f' '.gitmodules' '--get-regexp' '^submodule\..*\.path$'
    trace: built-in: git 'config' 'submodule..vim/bundle/easymotion.url'
    trace: built-in: git 'config' '-f' '.gitmodules' 'submodule..vim/bundle/easymotion.update'
    trace: built-in: git 'config' '-f' '.gitmodules' '--get-regexp' '^submodule\..*\.path$'
    trace: built-in: git 'config' 'submodule..vim/bundle/fugitive.url'
    trace: built-in: git 'config' '-f' '.gitmodules' 'submodule..vim/bundle/fugitive.update'
    trace: built-in: git 'config' '-f' '.gitmodules' '--get-regexp' '^submodule\..*\.path$'
    trace: built-in: git 'config' 'submodule..vim/bundle/markdown.url'
    trace: built-in: git 'config' '-f' '.gitmodules' 'submodule..vim/bundle/markdown.update'
    trace: built-in: git 'config' '-f' '.gitmodules' '--get-regexp' '^submodule\..*\.path$'
    trace: built-in: git 'config' 'submodule..vim/bundle/pathogen.url'
    trace: built-in: git 'config' '-f' '.gitmodules' 'submodule..vim/bundle/pathogen.update'
    trace: built-in: git 'config' '-f' '.gitmodules' '--get-regexp' '^submodule\..*\.path$'
    trace: built-in: git 'config' 'submodule..vim/bundle/supertab.url'
    trace: built-in: git 'config' '-f' '.gitmodules' 'submodule..vim/bundle/supertab.update'
    trace: built-in: git 'ls-files' '--error-unmatch' '--stage' '--'
    trace: built-in: git 'config' '-f' '.gitmodules' '--get-regexp' '^submodule\..*\.path$'
    trace: built-in: git 'config' 'submodule..vim/bundle/auto-save.url'
    trace: built-in: git 'config' 'submodule..vim/bundle/auto-save.update'
    trace: built-in: git 'rev-parse' '--git-dir'
    trace: built-in: git 'rev-parse' '--show-toplevel'
    trace: built-in: git 'rev-parse' '--show-toplevel'
    trace: built-in: git 'rev-parse' '--local-env-vars'
    trace: built-in: git 'config' 'core.worktree' '../../../../../.vim/bundle/auto-save'
    trace: built-in: git 'rev-parse' '--local-env-vars'
    trace: built-in: git 'fetch'
    trace: run_command: 'git-remote-https' 'origin' 'https://github.com/907th/vim-auto-save.git'
    ^C
    cdown@dev023:dotfiles:linux$ git --version
    git version 1.8.1

Thanks,

Chris