Thread (41 messages) flat view 41 messages, 3 authors, 2016-06-15

Re: [JGIT PATCH v3 0/23] Implementation of a file tree iteration using ignore rules.

From: Robin Rosenberg <hidden>
Date: 2016-06-15 22:44:42

söndagen den 8 juni 2008 18.37.30 skrev Florian Köberle:
(please retatain who said what)
quoted
quoted
Unsupported are colon expressions like ":alpha:". I didn't expect git-add to support it, but as I just noticed git does.
Maybe we should anticipate it and throw an exception if one tries the pattern and not treat it as [alph:] .

Well we noted they were broken in Git so (separate thread) so we may as well try something sane. 
Just did some tests and noted that the shell and git does not support 
them. I guess I thought that they work because [:alpha:] matched "a".

Hi Robin

The bash shell doesn't support [:alpha:] too:
$ mkdir test
$ cd test
$ touch a
$ touch b
$ touch :
$ ls [:alpha:]
:  a
Oh, it does. [:alpha:] is a character class, like a-z. So you use [[:alpha:]], which is what git as well as bash
understands.
The fnmatch function of the python module fnmatch 
(http://docs.python.org/lib/module-fnmatch.html) does not support 
:alpha: too.

example:
$python
 >>> from fnmatch import fnmatch
 >>> fnmatch("a","[:alpha:]")
False
Hmm. Odd:

$ python
Python 2.5.2 (r252:60911, Apr 12 2008, 01:47:55)
[GCC 4.2.3 (4.2.3-6mnb1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
quoted
quoted
from fnmatch import fnmatch
fnmatch("a","[:alpha:]")
True

But then, it's matching the a(s), not the character class.
quoted
quoted
fnmatch("x","[:alpha:]")
False
quoted
quoted
fnmatch("x","[[:alpha:]]")
False

-- robin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help