• Kirill Smelkov's avatar
    gitCommand: Pass $HOME to git as well · b5f1b803
    Kirill Smelkov authored
    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.
    b5f1b803
helpers.go 1.91 KB