From: Jeff King Date: Wed, 10 Mar 2010 22:32:10 GMT Subject: Re: wishlist: git gui not listing untracked files in unstaged list Message-ID: <20100310223210.GC4223@sigill.intra.peff.net> In-Reply-To: <20100310221403.GF21994@spearce.org> On Wed, Mar 10, 2010 at 02:14:03PM -0800, Shawn O. Pearce wrote: > Jeff King wrote: > > This is an inconsistency in the way that tilde-expansion is handled. The > > core.excludesfile config variable is expanded internally with the > > "pathname" magic (git_config_pathname). But handing the filename > > directly to ls-files --exclude-from does not do that expansion. > > > > So either there is a bug in ls-files, which should expand from the > > command line, or one in git-gui, which should be using "git config > > --path core.excludesfile" to get the path. > > I'd say its git-gui, yes? Doesn't my shell automatically do > --exclude-from=~/my.list for me? Its not the command's job > to do that expansion. 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. -Peff