• Dmitriy Zaporozhets's avatar
    Merge branch 'y/git-home' into 'master' · 216d7e15
    Dmitriy Zaporozhets authored
    Pass $HOME to git as well
    
    [ this patch has the same rationale and reasoning as
      https://gitlab.com/gitlab-org/gitlab-workhorse/commit/0d0bd209
    
      details follow ]
    
    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 full repo path 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-shell.
    
    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.
    
    /cc @dzaporozhets, @jacobvosmaer
    
    See merge request !32
    216d7e15
gitlab_shell.rb 4.81 KB