Re: Location of git config on Windows

2014-08-18 Thread Erik Faye-Lund
On Mon, Aug 18, 2014 at 7:05 PM, Daniel Corbe  wrote:
> Erik Faye-Lund  writes:
>
>> On Mon, Aug 18, 2014 at 5:47 PM, Erik Faye-Lund  wrote:
>>> On Mon, Aug 18, 2014 at 5:40 PM, Daniel Corbe  wrote:

 Erik Faye-Lund  writes:

> Or you could just restart your shell when you disconnect...

 Well I'm not that daft.  I tried that and if it had resolved my problem
 I wouldn't have posted.
>>>
>>> Hm, but isn't that what Karsten explains in his last paragraph? What
>>> shell are you running msys or cmd?
>>
>> Our /etc/profile does this:
>>
>> https://github.com/msysgit/msysgit/blob/master/etc/profile#L38
>>
>> ...however, our git-wrapper only does this:
>>
>> https://github.com/msysgit/msysgit/blob/master/src/git-wrapper/git-wrapper.c#L71
>>
>> So yeah, we don't seem to actually check if %HOMEDRIVE%%HOMEPATH%
>> exists. Perhaps fixing this is the right thing to do then? Since the
>> git-wrapper is run for *every* invokation of git, you wouldn't even
>> have to restart the shell in this case.
>
> But again, restarting the shell doesn't fix the problem.
>

Not for cmd, no. But for Git Bash, it should.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Location of git config on Windows

2014-08-18 Thread Daniel Corbe
Erik Faye-Lund  writes:

> On Mon, Aug 18, 2014 at 5:47 PM, Erik Faye-Lund  wrote:
>> On Mon, Aug 18, 2014 at 5:40 PM, Daniel Corbe  wrote:
>>>
>>> Erik Faye-Lund  writes:
>>>
 Or you could just restart your shell when you disconnect...
>>>
>>> Well I'm not that daft.  I tried that and if it had resolved my problem
>>> I wouldn't have posted.
>>
>> Hm, but isn't that what Karsten explains in his last paragraph? What
>> shell are you running msys or cmd?
>
> Our /etc/profile does this:
>
> https://github.com/msysgit/msysgit/blob/master/etc/profile#L38
>
> ...however, our git-wrapper only does this:
>
> https://github.com/msysgit/msysgit/blob/master/src/git-wrapper/git-wrapper.c#L71
>
> So yeah, we don't seem to actually check if %HOMEDRIVE%%HOMEPATH%
> exists. Perhaps fixing this is the right thing to do then? Since the
> git-wrapper is run for *every* invokation of git, you wouldn't even
> have to restart the shell in this case.

But again, restarting the shell doesn't fix the problem.  

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


Re: Location of git config on Windows

2014-08-18 Thread Daniel Corbe

Karsten Blees  writes:

> Am 18.08.2014 00:01, schrieb Erik Faye-Lund:
>> On Sun, Aug 17, 2014 at 10:18 PM, Daniel Corbe  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/), 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%).

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


Re: Location of git config on Windows

2014-08-18 Thread Erik Faye-Lund
On Mon, Aug 18, 2014 at 5:47 PM, Erik Faye-Lund  wrote:
> On Mon, Aug 18, 2014 at 5:40 PM, Daniel Corbe  wrote:
>>
>> Erik Faye-Lund  writes:
>>
>>> Or you could just restart your shell when you disconnect...
>>
>> Well I'm not that daft.  I tried that and if it had resolved my problem
>> I wouldn't have posted.
>
> Hm, but isn't that what Karsten explains in his last paragraph? What
> shell are you running msys or cmd?

Our /etc/profile does this:

https://github.com/msysgit/msysgit/blob/master/etc/profile#L38

...however, our git-wrapper only does this:

https://github.com/msysgit/msysgit/blob/master/src/git-wrapper/git-wrapper.c#L71

So yeah, we don't seem to actually check if %HOMEDRIVE%%HOMEPATH%
exists. Perhaps fixing this is the right thing to do then? Since the
git-wrapper is run for *every* invokation of git, you wouldn't even
have to restart the shell in this case.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Location of git config on Windows

2014-08-18 Thread Erik Faye-Lund
On Mon, Aug 18, 2014 at 5:40 PM, Daniel Corbe  wrote:
>
> Erik Faye-Lund  writes:
>
>> Or you could just restart your shell when you disconnect...
>
> Well I'm not that daft.  I tried that and if it had resolved my problem
> I wouldn't have posted.

Hm, but isn't that what Karsten explains in his last paragraph? What
shell are you running msys or cmd?
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Location of git config on Windows

2014-08-18 Thread Daniel Corbe

Erik Faye-Lund  writes:

> Or you could just restart your shell when you disconnect...

Well I'm not that daft.  I tried that and if it had resolved my problem
I wouldn't have posted.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Location of git config on Windows

2014-08-18 Thread Erik Faye-Lund
On Mon, Aug 18, 2014 at 5:14 PM, Daniel Corbe  wrote:
>
> Karsten Blees  writes:
>
>> Am 18.08.2014 00:01, schrieb Erik Faye-Lund:
>>> On Sun, Aug 17, 2014 at 10:18 PM, Daniel Corbe  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/), 
>> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Location of git config on Windows

2014-08-17 Thread Karsten Blees
Am 18.08.2014 00:01, schrieb Erik Faye-Lund:
> On Sun, Aug 17, 2014 at 10:18 PM, Daniel Corbe  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/), even
if disconnected from the network (at least that's how its supposed to be).


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


Re: Location of git config on Windows

2014-08-17 Thread Erik Faye-Lund
On Sun, Aug 17, 2014 at 10:18 PM, Daniel Corbe  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 unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: Location of git config on Windows

2014-08-17 Thread Jason Pyeron
> -Original Message-
> From: Daniel Corbe
> Sent: Sunday, August 17, 2014 16:18
> 
> 
> 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

As a workaround, use subst command to map the Z: to another path on your system.

Depending on your OS and your git usage patterns you may have to perform the 
operation twice at both non-privilged and priviliged prompts.

Ex: 

 subst z: c:\Users\corbed\cached-z-drive

> 
> 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?
> 

-Jason 

--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-   -
- Jason Pyeron  PD Inc. http://www.pdinc.us -
- Principal Consultant  10 West 24th Street #100-
- +1 (443) 269-1555 x333Baltimore, Maryland 21218   -
-   -
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
This message is copyright PD Inc, subject to license 20080407P00.

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