Skip to content

$git_proxy in .gitconfig is ignored by vcsrepo git provider #240

Description

@hypnotortoise

Setting $git_proxy in the users git config file does not work for people who are required to use vcsrepo via proxyserver. The problem relates due to how Puppet/vcsrepo resets environment when calling Puppet::Util::Execution.execute(). I added some debug options to vcsrepos type class git.rb to see what is printed for git config -l. It misses the proxies unless they are directly specified in the repositories .git/config.

Tested with sbadia-gitlab v0.1.5 but I see that there were no changes in upstream regarding proxy setup.

Example failed run with debugging enabled, where $git_proxy was set correctly for .gitconfig:

Fri Dec 11 17:57:08 +0100 2015 Puppet (debug): Executing 'git config -l'
Fri Dec 11 17:57:08 +0100 2015 Vcsrepo[/srv/rubyapps/gitlab/gitlab-shell](provider=git) (debug): core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=https://github.com/gitlabhq/gitlab-shell.git
branch.master.remote=origin
branch.master.merge=refs/heads/master
...
Fri Dec 11 18:10:07 +0100 2015 Puppet (debug): Executing 'git fetch origin'
Fri Dec 11 18:11:10 +0100 2015 /Stage[main]/Gitlab::Ci::Package/Vcsrepo[/srv/rubyapps/gitlab/gitlab-shell] (err): Could not evaluate: Execution of 'git fetch origin' returned 128
...

WA was, to either use custom_environment execute() option in vcsrepos git.rb (bad) or specify proxies directly in .git/config gitlab-/ci & -shell.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions