git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: wishlist: git gui not listing untracked files in unstaged list

From
Jeff King <peff@peff.net>
Date
Mar 11, 2010, 07:11 UTC
Message-ID
<20100311071145.GA5919@sigill.intra.peff.net>
In-Reply-To
<4B9896D4.2020106@viscovery.net>
On Thu, Mar 11, 2010 at 08:08:04AM +0100, Johannes Sixt wrote:
Show 13 quoted lines
> > 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
> 
> This is wrong, FWIW. Tilde expansion must happen only at the beginning of
> a word or, when in an assignment, at the beginning of the assigned value
> or after any unquoted ':'. Note that in `echo foo=~/foo`, what looks like
> an assignment is *not* an assignment in POSIX shell lingo because it comes
> after the command name.

Thanks for the reference. I thought it was a bit funny when I wrote the above, but just assumed it was implementation defined.

I think it doesn't change our outcome, though. Even though we cannot rely on the shell to do such an expansion, it is still probably not sane to assume ls-files will do it. Git's expansion is connected with the config entry, not the use in ls-files, and it is git-gui's responsibility to correctly expand as it reads the config.

-Peff
Previous: Johannes SixtNext: Andreas Schwab
Message 12 of 13 in “wishlist: git gui not listing untracked files in unstaged list”
  1. MALAISE PascalMar 10, 2010
  2. Junio C HamanoMar 10, 2010
  3. Shawn O. PearceMar 10, 2010
  4. MALAISE PascalMar 10, 2010
  5. Patrick HigginsMar 10, 2010
  6. Jeff KingMar 10, 2010
  7. Shawn O. PearceMar 10, 2010
  8. Junio C HamanoMar 10, 2010
  9. Jeff KingMar 10, 2010
  10. Jeff KingMar 10, 2010
  11. Johannes SixtMar 11, 2010
  12. Jeff KingMar 11, 2010
  13. Andreas SchwabMar 11, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.