Re: [msysGit] Re: [PATCH] Add a Windows-specific fallback to getenv("HOME");

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 04.06.2014 16:05, schrieb Erik Faye-Lund:
> On Wed, Jun 4, 2014 at 3:47 PM, Duy Nguyen <pclouds@xxxxxxxxx> wrote:
>> On Wed, Jun 4, 2014 at 6:47 PM, Stepan Kasal <kasal@xxxxxx> wrote:
>>> @@ -133,7 +133,7 @@ char *git_path(const char *fmt, ...)
>>>  void home_config_paths(char **global, char **xdg, char *file)
>>>  {
>>>         char *xdg_home = getenv("XDG_CONFIG_HOME");
>>> -       char *home = getenv("HOME");
>>> +       const char *home = get_home_directory();
>>>         char *to_free = NULL;
>>>
>>>         if (!home) {
>>
>> Just checking. Instead of replace the call sites, can we check and
>> setenv("HOME") if it's missing instead? MinGW port already replaces
>> main(). Extra initialization should not be a problem. I feel
>> "getenv("HOME")" a tiny bit more familiar than get_home_directory(),
>> but that's really weak argument as the number of call sites has not
>> increased in 4 years.
> 

Setting the variable instead of wrapping getenv has the additional benefit that it also affects child processes (read: scripted commands).

> Yeah. But we already set %HOME% to %HOMEDRIVE%%HOMEPATH% in
> /etc/profile, git-cmd.bat, gitk.cmd *and* git-wrapper... Do we really
> need one more place?
> 

...all of these also do the string concatenation correctly (i.e. not "C:/\Users\MyName" as this patch does), fall back to %USERPROFILE% if %HOMEPATH% is not set, and most (except git-wrapper) even check that the directory exists. So IMO this patch has been superseded by more robust solutions and should be dropped.


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]