# HG changeset patch # User Jesse Glick # Date 1201294465 18000 # Node ID 48d01b1e315f1b0b871d8cf86a57e6c8ff6a4efc # Parent b75105de8573831f4bfef10556e90e7f883ae8d5 Permit glob patterns to use nested curly braces. diff -r b75105de8573 -r 48d01b1e315f mercurial/util.py --- a/mercurial/util.py Sat Jan 26 00:14:20 2008 +0100 +++ b/mercurial/util.py Fri Jan 25 15:54:25 2008 -0500 @@ -262,7 +262,7 @@ "convert a glob pattern into a regexp" i, n = 0, len(pat) res = '' - group = False + group = 0 def peek(): return i < n and pat[i] while i < n: c = pat[i] @@ -292,11 +292,11 @@ stuff = '\\' + stuff res = '%s[%s]' % (res, stuff) elif c == '{': - group = True + group += 1 res += '(?:' elif c == '}' and group: res += ')' - group = False + group -= 1 elif c == ',' and group: res += '|' elif c == '\\': diff -r b75105de8573 -r 48d01b1e315f tests/test-walk --- a/tests/test-walk Sat Jan 26 00:14:20 2008 +0100 +++ b/tests/test-walk Fri Jan 25 15:54:25 2008 -0500 @@ -58,6 +58,7 @@ debugwalk ../.hg chdir .. debugwalk -Ibeans +debugwalk -I '{*,{b,m}*/*}k' debugwalk 'glob:mammals/../beans/b*' debugwalk '-X*/Procyonidae' mammals debugwalk path:mammals diff -r b75105de8573 -r 48d01b1e315f tests/test-walk.out --- a/tests/test-walk.out Sat Jan 26 00:14:20 2008 +0100 +++ b/tests/test-walk.out Fri Jan 25 15:54:25 2008 -0500 @@ -174,6 +174,11 @@ f beans/pinto beans/pinto f beans/turtle beans/turtle +hg debugwalk -I {*,{b,m}*/*}k +f beans/black beans/black +f fenugreek fenugreek +f mammals/skunk mammals/skunk + hg debugwalk glob:mammals/../beans/b* f beans/black beans/black f beans/borlotti beans/borlotti