On Mon, Aug 18, 2014 at 5:14 PM, Daniel Corbe <corbe@xxxxxxxxx> wrote: > > Karsten Blees <karsten.blees@xxxxxxxxx> writes: > >> Am 18.08.2014 00:01, schrieb Erik Faye-Lund: >>> On Sun, Aug 17, 2014 at 10:18 PM, Daniel Corbe <corbe@xxxxxxxxx> wrote: >>>> >>>> I installed git on my Windows machine while it was connected to my >>>> corporate network. It picked up on that fact and used a mapped drive to >>>> store its configuration file. >>>> >>>> As a result, I cannot currently use git when disconnected from my >>>> network. It throws the following error message: fatal: unable to access >>>> 'Z:\/.config/git/config': Invalid argument >>>> >>>> Obviously this value is stored in the registry somewhere because I made >>>> an attempt to uninstall and reinstall git with the same results. >>>> >>>> Can someone give me some guidance here? >>> >>> Git looks for the per-user configuration in $HOME/.gitconfig, and if >>> $HOME is not set, it falls back to $HOMEDIR/$HOMEPATH/.gitconfig. My >>> guess would be some of these environment variables are incorrectly set >>> on your system. >> >> To be precise, git checks if %HOME% is set _and_ the directory exists before >> falling back to %HOMEDRIVE%%HOMEPATH%. >> >> If %HOMEDRIVE%%HOMEPATH% isn't set or the directory doesn't exist either, it >> falls back to %USERPROFILE%, which is always local (C:/Users/<yourname>), even >> if disconnected from the network (at least that's how its supposed to be). >> >> > > Awesome! Thanks for the advice. > > %HOMEDRIVE% and %HOMEPATH% are indeed set by my system and point to an > (often disconnected) network drive. I manually forced %HOME% to > %USERPROFILE% and it works like a charm now. > > I would argue that on Windows %USERPROFILE% should be checked first (or > at least after %HOME%). Why? Then people won't be able to have their config files on network-shares, no? I think a somewhat better approach would be to resolve the home directory lazily, unless %HOME% is set. That way we can check that %HOMEDRIVE%%HOMEPATH% actually exists as it's being accessed. Or you could just restart your shell when you disconnect... -- 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