Re: git ls-files wildcard behavior considered harmful
- From
Duy Nguyen <pclouds@gmail.com>
- Date
- Mar 31, 2015, 00:35 UTC
- Message-ID
- <CACsJy8C9VdpN2MoNC7-ZuLAvjV5fUZVLzMM-gUzjj1ZQ5r9Vtg@mail.gmail.com>
- In-Reply-To
- <20150330233614.GA17089@kitenet.net>
On Tue, Mar 31, 2015 at 6:36 AM, Joey Hess <id@joeyh.name> wrote:
Show 8 quoted lines
> Duy Nguyen wrote: >> You can do "git --literal-pathspecs ls-files ..." or set GIT_LITERAL_PATHSPECS. > > Thanks! --literal-pathspecs does allow getting around this. > > Now I'm wondering what other parts of plumbing might be doing globbing > that I did not anticipate. Maybe I should set the environment variable > so I don't need to worry about it..
We're just a bit sloppy in documentation. ls-files learned about wildcards since 56fc510 ([PATCH] git-ls-files: generalized pathspecs - 2005-08-21). Two months later, git-ls-files.txt is updated to say "<file>" (which is not entirely correct even if we ignore wildcards, ls-files can take directories as well). With latest git, I think only git-mv and git-read-tree go with plain paths. It's probably best to set GIT_LITERAL_PATHSPECS for scripting like Jeff said.
-- Duy