On Mon, Mar 30, 2015 at 07:36:14PM -0400, Joey Hess wrote:
> 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..
Pretty much everything takes magic patterns[1]. Pathspecs given to diff,
path limiters for pruning, etc. If you are scripting with raw filenames
(e.g., feeding the filenames out of another tool), I recommend setting
GIT_LITERAL_PATHSPECS everywhere. That's what we do on the server side
at GitHub (and is the reason I implemented --literal-pathspecs in the
first place).
-Peff
[1] Note that globbing is just part of this. Names starting with colon
are also magical, e.g. ":/foo", or even ":(literal)foo". These are
documented in the "pathspec" definition of "git help glossary".
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html