threads / discuss / 15721

Git config not expanding user home directories

Subject: Git config not expanding user home directories

## tl;dr

5 messages between Sep 30, 2008 and Oct 1, 2008.

replies: 4people: 4as markdown or json

Tom Lanyon· Sep 30, 2008, 10:46 UTC · lore
Hi all,

Is it normal behavior that git (well at least git-svn) won't expand ~user from .gitconfig?

I was trying to set the svn.authorsfile config key to ~tom/.gitauthors; I received an error until changing it to read /home/ tom/.gitauthors.

Regards, Tom

Andreas Ericsson· Sep 30, 2008, 10:49 UTC · re: Tom Lanyon · lore

Re: Git config not expanding user home directories

Tom Lanyon wrote:
Show 5 quoted lines
> Hi all,
> 
> Is it normal behavior that git (well at least git-svn) won't expand 
> ~user from .gitconfig?
> 

Yes. You could add a patch for that though. git-daemon does ~user expansion since quite a long time back, so there's a function ready for it. I'd do it by doing something like:

   git config --path section.key

so that scripts can get the user-expanded version as well. In-core applications can call expand_path() or some such on their own, I think.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231
Jakub Narebski· Sep 30, 2008, 11:38 UTC · re: Andreas Ericsson · lore

Re: Git config not expanding user home directories

Andreas Ericsson <ae@op5.se> writes:
Show 15 quoted lines
> Tom Lanyon wrote:
> > 
> > Is it normal behavior that git (well at least git-svn) won't expand
> > ~user from .gitconfig?
> >
> 
> Yes. You could add a patch for that though. git-daemon does ~user
> expansion since quite a long time back, so there's a function ready
> for it. I'd do it by doing something like:
> 
>    git config --path section.key
> 
> so that scripts can get the user-expanded version as well. In-core
> applications can call expand_path() or some such on their own, I
> think.

There was a patch send to git mailing list adding basic '~' support (I think via $ENV{HOME}), and IIRC even ~user support. I don't know what happened to those patches (check mailing list archive), but most probably it was not accepted because it didn't provide a way for scripts to use this functionality, for example via --path option.

-- 
Jakub Narebski
Poland
ShadeHawk on #git
Jeff King· Oct 1, 2008, 03:22 UTC · re: Jakub Narebski · lore

Re: Git config not expanding user home directories

On Tue, Sep 30, 2008 at 04:38:46AM -0700, Jakub Narebski wrote:
Show 5 quoted lines
> There was a patch send to git mailing list adding basic '~' support
> (I think via $ENV{HOME}), and IIRC even ~user support. I don't know
> what happened to those patches (check mailing list archive), but
> most probably it was not accepted because it didn't provide a way
> for scripts to use this functionality, for example via --path option.

There were several rounds, and I thought it was shaping up, but then no more rounds came. I assume that Karl lost interest (or perhaps we nitpicked him to death), but I thought at the end of the thread Junio laid out a plan for the next revision. I guess nobody cared enough about the feature to implement it after that (though I think I found the final version acceptable with a minor documentation tweak, I think Junio laid out a cleaner approach).

The last patch is here, with one of the replies from Junio giving the aforementioned plan:

  http://mid.gmane.org/quack.20080829T0229.lthhc94rwyr_-_@roar.cs.berkeley.edu
-Peff
Andreas Ericsson· Oct 1, 2008, 07:52 UTC · re: Jeff King · lore

Re: Git config not expanding user home directories

Jeff King wrote:
Show 21 quoted lines
> On Tue, Sep 30, 2008 at 04:38:46AM -0700, Jakub Narebski wrote:
> 
>> There was a patch send to git mailing list adding basic '~' support
>> (I think via $ENV{HOME}), and IIRC even ~user support. I don't know
>> what happened to those patches (check mailing list archive), but
>> most probably it was not accepted because it didn't provide a way
>> for scripts to use this functionality, for example via --path option.
> 
> There were several rounds, and I thought it was shaping up, but then
> no more rounds came. I assume that Karl lost interest (or perhaps we
> nitpicked him to death), but I thought at the end of the thread Junio
> laid out a plan for the next revision. I guess nobody cared enough about
> the feature to implement it after that (though I think I found the final
> version acceptable with a minor documentation tweak, I think Junio laid
> out a cleaner approach).
> 
> The last patch is here, with one of the replies from Junio giving the
> aforementioned plan:
> 
>   http://mid.gmane.org/quack.20080829T0229.lthhc94rwyr_-_@roar.cs.berkeley.edu
> 

That looks roughly like the way I'd have done it. I'll see if I can find the time to polish it up a bit.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

← back to recent threads