[PATCH v1 43/45] pathspec: make --literal-pathspecs disable pathspec magic
- From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
- Date
- Mar 15, 2013, 06:06 UTC
- Message-ID
- <1363327620-29017-44-git-send-email-pclouds@gmail.com>
- In-Reply-To
- <1363327620-29017-1-git-send-email-pclouds@gmail.com>
--literal-pathspecs and its equivalent environment variable are probably used for scripting. In that setting, pathspec magic may be unwanted. Disabling globbing in individual pathspec can be done via :(literal) magic.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> --- Documentation/git.txt | 4 ++-- pathspec.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Documentation/git.txt b/Documentation/git.txt index 7efaa59..3bbbbdc 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -439,8 +439,8 @@ help ...`. linkgit:git-replace[1] for more information. --literal-pathspecs:: - Treat pathspecs literally, rather than as glob patterns. This is - equivalent to setting the `GIT_LITERAL_PATHSPECS` environment + Treat pathspecs literally (i.e. no globbing, no pathspec magic). + This is equivalent to setting the `GIT_LITERAL_PATHSPECS` environment variable to `1`. diff --git a/pathspec.c b/pathspec.c index e57196d..61a47b8 100644 --- a/pathspec.c +++ b/pathspec.c @@ -103,7 +103,7 @@ static unsigned prefix_pathspec(struct pathspec_item *item, if (literal_global) global_magic |= PATHSPEC_LITERAL; - if (elt[0] != ':') { + if (elt[0] != ':' || literal_global) { ; /* nothing to do */ } else if (elt[1] == '(') { /* longhand */
-- 1.8.0.rc0.19.g7bbb31d