On Wed, Mar 10, 2010 at 05:32:10PM -0500, Jeff King wrote:
It depends on the shell. Bash will expand it in _some_ cases (but not
this one). Dash never will:
$ echo $BASH_VERSION
4.1.0(1)-release
$ echo foo=~/foo ;# expands
foo=/home/peff/foo
$ echo --foo=~/foo ;# does not
--foo=~/foo
$ dash -c 'echo foo=~/foo' ;# does not
foo=~/foo
That being said, my gut feeling is for git-gui to fix it, too. Shell
callers can use $HOME if they want.
By the way, the only reason I hesitated on that in the first mail is
that it feels a little unelegant. If a config variable grows --path
semantics, _all_ script callers have to be updated. It might be nice to
have "git config --dwim core.excludesfile" which does the "normal"
expansion. But that would mean a central DWIM-list, and git config is
sprinkled throughout the codebase, so it's probably not worth the
refactoring effort.
-Peff