Skip to content

gitCommand: Pass $HOME to git as well

Kirill Smelkov requested to merge kirr/gitlab-workhorse:y/gitcommand-path into master

Git has 3 places for configs:

  • system
  • global (per user), and
  • local (per repository)

System config location is hardcoded at git compile time (to usually $prefix/etc/gitconfig). Local configuration is usually picked because we pass --git-dir to subcommand. But global configuration is currently not picked at all, because HOME env variable is not passed to git.

Pass $HOME through and let git see it's "global" config.

Currently GitLab omnibus stores gitlab user name/email + "autocrlf = true" in global config, so missing it should not be a blocker for receive/send-pack operations. But having it is more correct and can be handy in the future if/when more git operations are done from-under gitlab-workhorse.

Having $HOME properly set is also needed when one cannot change system git config and have to put site-wide configuration into global git config under $HOME.

That was the case I've hit and the reason for this patch.

Merge request reports