From: "Dr. Adam Nielsen" <admin@in-ici.net> To: git@vger.kernel.org Cc: "Dr. Adam Nielsen" <admin@in-ici.net> Subject: [PATCH] make slash-rules more readable Date: Fri, 26 Apr 2019 16:32:51 +0200 [thread overview] Message-ID: <20190426143251.29250-1-admin@in-ici.net> (raw) --- Documentation/gitignore.txt | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/Documentation/gitignore.txt b/Documentation/gitignore.txt index b5bc9dbff0..3a6fb9117c 100644 --- a/Documentation/gitignore.txt +++ b/Documentation/gitignore.txt @@ -89,24 +89,35 @@ PATTERN FORMAT Put a backslash ("`\`") in front of the first "`!`" for patterns that begin with a literal "`!`", for example, "`\!important!.txt`". - - If the pattern ends with a slash, it is removed for the - purpose of the following description, but it would only find + - If the pattern ends with a slash, it would only find a match with a directory. In other words, `foo/` will match a directory `foo` and paths underneath it, but will not match a regular file or a symbolic link `foo` (this is consistent with the way how pathspec works in general in Git). - - If the pattern does not contain a slash '/', Git treats it as - a shell glob pattern and checks for a match against the - pathname relative to the location of the `.gitignore` file - (relative to the toplevel of the work tree if not from a - `.gitignore` file). - - - Otherwise, Git treats the pattern as a shell glob: "`*`" matches - anything except "`/`", "`?`" matches any one character except "`/`" - and "`[]`" matches one character in a selected range. See - fnmatch(3) and the FNM_PATHNAME flag for a more detailed - description. + - If the pattern contains no slash "`/`" (except an optional trailing slash), + the pattern is matched against all files and folders (recursively) + from the location of the `.gitignore` file. + For example, `frotz/` matches `frotz` and `a/frotz` that + is a directory (relative from the `.gitignore` file). + + - A pattern that contains a non-trailing slash is matched relative to the + location of the `.gitignore` file. + For example, `doc/frotz/` matches `doc/frotz` directory, but not + `a/doc/frotz` (relative from the `.gitignore` file). + Note that the pattern `doc/frotz` and `/doc/frotz` + have the same effect in any `.gitignore` file, while `/bar` and `bar` + have not the same effect (`/bar` will not match `foo/bar`). + + - An asterisk "`*`" matches anything except a slash. A + pattern "foo/*", for example, matches "foo/test.json" (a + regular file), "foo/bar" (a diretory), but it does not match + "foo/bar/hello.c" (a regular file), as the asterisk in the + patter does not match "bar/hello.c" which has a slash in it. + The character "`?`" matches any one character except "`/`" + The range notation, e.g. `[a-zA-Z]`, can be used to match + one of the characters in a range. See fnmatch(3) and the + FNM_PATHNAME flag for a more detailed description. - A leading slash matches the beginning of the pathname. For example, "/{asterisk}.c" matches "cat-file.c" but not -- 2.17.1
next reply other threads:[~2019-04-26 14:34 UTC|newest] Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-04-26 14:32 Dr. Adam Nielsen [this message] 2019-05-07 10:45 Dr. Adam Nielsen 2019-05-08 5:33 ` Junio C Hamano 2019-05-12 9:56 ` Dr. Adam Nielsen 2019-05-17 21:43 ` Dr. Adam Nielsen 2019-05-18 6:42 ` Johannes Sixt 2019-05-18 13:20 ` Dr. Adam Nielsen 2019-05-18 14:07 Dr. Adam Nielsen 2019-05-18 19:34 ` Philip Oakley 2019-05-19 15:33 ` Dr. Adam Nielsen [not found] ` <0c2894ce-7eab-8207-9af8-7ce5e779d4ec@iee.org> 2019-05-29 8:28 ` Dr. Adam Nielsen 2019-05-18 14:13 Dr. Adam Nielsen 2019-05-19 1:59 ` Junio C Hamano 2019-05-19 6:59 ` Johannes Sixt 2019-05-31 7:44 Dr. Adam Nielsen 2019-05-31 16:30 ` Junio C Hamano 2019-05-31 17:24 ` Dr. Adam Nielsen 2019-05-31 17:40 ` Junio C Hamano 2019-06-01 9:33 ` Philip Oakley 2019-06-02 9:01 ` Dr. Adam Nielsen 2019-06-03 18:01 ` Junio C Hamano 2019-06-04 10:40 ` Philip Oakley 2019-06-01 9:23 ` Philip Oakley 2019-06-04 12:34 ` Philip Oakley 2019-06-04 17:22 ` Dr. Adam Nielsen 2019-05-31 18:16 Dr. Adam Nielsen 2019-05-31 18:17 Dr. Adam Nielsen 2019-06-02 9:04 Dr. Adam Nielsen 2019-06-04 17:34 Dr. Adam Nielsen 2019-06-25 11:05 ` Dr. Adam Nielsen 2019-06-25 11:31 ` Philip Oakley 2019-06-27 17:10 ` Dr. Adam Nielsen 2019-07-04 10:40 ` Philip Oakley 2019-07-04 10:46 ` Philip Oakley 2019-06-27 17:43 ` Junio C Hamano 2020-02-15 3:08 Pavel Ivashkov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style List information: http://vger.kernel.org/majordomo-info.html * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190426143251.29250-1-admin@in-ici.net \ --to=admin@in-ici.net \ --cc=git@vger.kernel.org \ --subject='Re: [PATCH] make slash-rules more readable' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Code repositories for project(s) associated with this inbox: https://80x24.org/mirrors/git.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).