git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Karsten Blees <karsten.blees@gmail.com>
Date
Jun 5, 2014, 09:40 UTC
Message-ID
<53903B22.70507@gmail.com>
In-Reply-To
<20140605080317.GA28029@camelia.ucw.cz>
Am 05.06.2014 10:03, schrieb Stepan Kasal:
Show 13 quoted lines
> From: Johannes Schindelin <johannes.schindelin@gmx.de>
> Date: Wed, 2 Jun 2010 00:41:33 +0200
> 
> If HOME is not set, use $HOMEDRIVE$HOMEPATH
> 
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> Signed-off-by: Stepan Kasal <kasal@ucw.cz>
> ---
> 
> Hello Karsten,
> thanks for your explanation.  There are more things to be done, but
> I hope you can ack this patch as a step forward.
> 
No, not really. Its sure better than introducing a special get_home_directory(), but it still increases the diff between upstream and msysgit rather than reducing it. The main critique points still remain:
 * $HOME is usually set up correctly before calling git, so this is essentially dead code (just checked, portable git's git-bash.bat and git-cmd.bat also do this correctly)
 * even if $HOME was empty, git should setenv("HOME") so that child processes can benefit from it (similar to TMPDIR and TERM in current msysgit's mingw_startup()). Not setting $HOME because it may hypothetically break child processes is a very weak argument, as we always did set $HOME in etc/profile (since the initial version back in 2007).
 * no fallback to $USERPROFILE doesn't work with diconnected home share
If you really have time to spare, I suggest you focus on getting the Unicode patches upstream so that we can progress from there (e.g. move $HOME setup to mingw_startup() so that we can get rid of redundant logic in etc/profile, git-wrapper, git-bash.bat, git-cmd.bat etc.).
Show 17 quoted lines
> Hello Dscho,
> I hope you can ack this as well: it is basically equivalent with your
> patch, tailored according to current upstream fashion,  ;-)
> 
> Stepan
> 
>  compat/mingw.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/compat/mingw.c b/compat/mingw.c
> index a0e13bc..e108388 100644
> --- a/compat/mingw.c
> +++ b/compat/mingw.c
> @@ -1181,6 +1181,11 @@ char *mingw_getenv(const char *name)
>  		if (!result)
>  			result = getenv_cs("TEMP");
>  	}
else?
> +	if (!result && !strcmp(name, "HOME")) {
> +		struct strbuf buf = STRBUF_INIT;
> +		strbuf_addf(&buf, "%s%s", getenv_cs("HOMEDRIVE"), getenv_cs("HOMEPATH"));
No surplus '/', good!
> +		result = strbuf_detach(&buf, NULL);
This leaks memory.
Show 5 quoted lines
> +	}
>  	return result;
>  }
>  
> 
-- 
-- 
*** Please reply-to-all at all times ***
*** (do not pretend to know who is subscribed and who is not) ***
*** Please avoid top-posting. ***
The msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.

You received this message because you are subscribed to the Google
Groups "msysGit" group.
To post to this group, send email to msysgit@googlegroups.com
To unsubscribe from this group, send email to
msysgit+unsubscribe@googlegroups.com
For more options, and view previous threads, visit this group at
http://groups.google.com/group/msysgit?hl=en_US?hl=en

--- 
You received this message because you are subscribed to the Google Groups "msysGit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Previous: Stepan KasalNext: Erik Faye-Lund
Message 20 of 31 in “Add a Windows-specific fallback to getenv("HOME");”
  1. Add a Windows-specific fallback to getenv("HOME");Stepan Kasal, Jun 4, 2014
  2. Duy NguyenJun 4, 2014
  3. Erik Faye-LundJun 4, 2014
  4. Karsten BleesJun 4, 2014
  5. Johannes SchindelinJun 4, 2014
  6. Erik Faye-LundJun 4, 2014
  7. Johannes SchindelinJun 4, 2014
  8. Stepan KasalJun 4, 2014
  9. Johannes SchindelinJun 4, 2014
  10. Stepan KasalJun 4, 2014
  11. Johannes SchindelinJun 4, 2014
  12. Git for Windows SDKPhilip Oakley, Jun 6, 2014
  13. Duy NguyenJun 4, 2014
  14. Sebastian SchuberthJun 6, 2014
  15. Johannes SchindelinJun 4, 2014
  16. Karsten BleesJun 5, 2014
  17. Add a Windows-specific fallback to getenv("HOME");Stepan Kasal, Jun 5, 2014
  18. Torsten BögershausenJun 5, 2014
  19. Add a Windows-specific fallback to getenv("HOME");Stepan Kasal, Jun 5, 2014
  20. Karsten BleesJun 5, 2014
  21. Erik Faye-LundJun 5, 2014
  22. Karsten BleesJun 5, 2014
  23. Stepan KasalJun 6, 2014
  24. Stepan KasalJun 5, 2014
  25. Johannes SchindelinJun 5, 2014
  26. Karsten BleesJun 5, 2014
  27. Johannes SchindelinJun 5, 2014
  28. Stepan KasalJun 5, 2014
  29. Karsten BleesJun 5, 2014
  30. Stepan KasalJun 4, 2014
  31. Johannes SchindelinJun 4, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.