On 2009-02-26, Sitaram Chamarty <sitaramc@xxxxxxxxx> wrote: > On 2009-02-25, Junio C Hamano <gitster@xxxxxxxxx> wrote: > I see you've used 'pattern' and 'sign' to break the > overloading of '/'. > >> - an optional ! sign whose meaning is "unignore paths that matches >> this pattern, instead of ignoring them"; followed by >> >> - an optional / sign whose meaning is "a match with this pattern must >> be made at this directory and not in its subdirectories"; followed >> by >> >> - a pattern that never begins nor ends with a slash whose meaning is >> "this is a shell glob pattern to test paths against"; followed by > > I wish[1]. But in reality, a slash 'inside' anchors the > match the same as a leading slash does. > > Boy this is tough :-) and I'm almost tempted to relook at my > first attempt, where your only concerns were the words > 'otherwise' and 'anywhere else' for non-native speakers. > > I'll think about this some more and get back to you. How about this: ----8<---- - an optional leading ! symbol meaning "unignore paths that match this pattern, instead of ignoring them" - an optional trailing / symbol meaning "this pattern matches only with a directory (i.e., files and symlinks won't match)" - the above two symbols (if present) are then removed. What remains is treated as a normal shell glob pattern, with the additional restriction that if the pattern still contains a slash, it matches only at the current directory and not in its subdirectories ----8<---- I'm not going into the 'descend' thing; based on how the email from Björn Steinbrink plays out, we can describe that later. Same for 'current directory', which stands for the root of the work-tree if the pattern came from .git/info/exclude or a core.excludesfile; this also can be added as a footnote. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html