Patch from Andrew Kuchling: allow multiple include/exclude patterns
for all commands except 'prune' and 'graft'.
This commit is contained in:
parent
58ec6ede20
commit
9d5afa9894
|
@ -310,24 +310,25 @@ class sdist (Command):
|
||||||
# for the given action (which is the first word)
|
# for the given action (which is the first word)
|
||||||
if action in ('include','exclude',
|
if action in ('include','exclude',
|
||||||
'global-include','global-exclude'):
|
'global-include','global-exclude'):
|
||||||
if len (words) != 2:
|
if len (words) < 2:
|
||||||
template.warn \
|
template.warn \
|
||||||
("invalid manifest template line: " +
|
("invalid manifest template line: " +
|
||||||
"'%s' expects a single <pattern>" %
|
"'%s' expects <pattern1> <pattern2> ..." %
|
||||||
action)
|
action)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
pattern = native_path (words[1])
|
pattern_list = map(native_path, words[1:])
|
||||||
|
|
||||||
elif action in ('recursive-include','recursive-exclude'):
|
elif action in ('recursive-include','recursive-exclude'):
|
||||||
if len (words) != 3:
|
if len (words) < 3:
|
||||||
template.warn \
|
template.warn \
|
||||||
("invalid manifest template line: " +
|
("invalid manifest template line: " +
|
||||||
"'%s' expects <dir> <pattern>" %
|
"'%s' expects <dir> <pattern1> <pattern2> ..." %
|
||||||
action)
|
action)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
(dir, pattern) = map (native_path, words[1:3])
|
dir = native_path(words[1])
|
||||||
|
pattern_list = map (native_path, words[2:])
|
||||||
|
|
||||||
elif action in ('graft','prune'):
|
elif action in ('graft','prune'):
|
||||||
if len (words) != 2:
|
if len (words) != 2:
|
||||||
|
@ -352,7 +353,8 @@ class sdist (Command):
|
||||||
# digging stuff up out of 'words'.
|
# digging stuff up out of 'words'.
|
||||||
|
|
||||||
if action == 'include':
|
if action == 'include':
|
||||||
print "include", pattern
|
print "include", string.join(pattern_list)
|
||||||
|
for pattern in pattern_list:
|
||||||
files = select_pattern (all_files, pattern, anchor=1)
|
files = select_pattern (all_files, pattern, anchor=1)
|
||||||
if not files:
|
if not files:
|
||||||
template.warn ("no files found matching '%s'" % pattern)
|
template.warn ("no files found matching '%s'" % pattern)
|
||||||
|
@ -360,15 +362,17 @@ class sdist (Command):
|
||||||
self.files.extend (files)
|
self.files.extend (files)
|
||||||
|
|
||||||
elif action == 'exclude':
|
elif action == 'exclude':
|
||||||
print "exclude", pattern
|
print "exclude", string.join(pattern_list)
|
||||||
|
for pattern in pattern_list:
|
||||||
num = exclude_pattern (self.files, pattern, anchor=1)
|
num = exclude_pattern (self.files, pattern, anchor=1)
|
||||||
if num == 0:
|
if num == 0:
|
||||||
template.warn \
|
template.warn (
|
||||||
("no previously-included files found matching '%s'" %
|
"no previously-included files found matching '%s'"%
|
||||||
pattern)
|
pattern)
|
||||||
|
|
||||||
elif action == 'global-include':
|
elif action == 'global-include':
|
||||||
print "global-include", pattern
|
print "global-include", string.join(pattern_list)
|
||||||
|
for pattern in pattern_list:
|
||||||
files = select_pattern (all_files, pattern, anchor=0)
|
files = select_pattern (all_files, pattern, anchor=0)
|
||||||
if not files:
|
if not files:
|
||||||
template.warn (("no files found matching '%s' " +
|
template.warn (("no files found matching '%s' " +
|
||||||
|
@ -378,7 +382,8 @@ class sdist (Command):
|
||||||
self.files.extend (files)
|
self.files.extend (files)
|
||||||
|
|
||||||
elif action == 'global-exclude':
|
elif action == 'global-exclude':
|
||||||
print "global-exclude", pattern
|
print "global-exclude", string.join(pattern_list)
|
||||||
|
for pattern in pattern_list:
|
||||||
num = exclude_pattern (self.files, pattern, anchor=0)
|
num = exclude_pattern (self.files, pattern, anchor=0)
|
||||||
if num == 0:
|
if num == 0:
|
||||||
template.warn \
|
template.warn \
|
||||||
|
@ -387,7 +392,8 @@ class sdist (Command):
|
||||||
pattern)
|
pattern)
|
||||||
|
|
||||||
elif action == 'recursive-include':
|
elif action == 'recursive-include':
|
||||||
print "recursive-include", dir, pattern
|
print "recursive-include", dir, string.join(pattern_list)
|
||||||
|
for pattern in pattern_list:
|
||||||
files = select_pattern (all_files, pattern, prefix=dir)
|
files = select_pattern (all_files, pattern, prefix=dir)
|
||||||
if not files:
|
if not files:
|
||||||
template.warn (("no files found matching '%s' " +
|
template.warn (("no files found matching '%s' " +
|
||||||
|
@ -397,7 +403,8 @@ class sdist (Command):
|
||||||
self.files.extend (files)
|
self.files.extend (files)
|
||||||
|
|
||||||
elif action == 'recursive-exclude':
|
elif action == 'recursive-exclude':
|
||||||
print "recursive-exclude", dir, pattern
|
print "recursive-exclude", dir, string.join(pattern_list)
|
||||||
|
for pattern in pattern_list:
|
||||||
num = exclude_pattern (self.files, pattern, prefix=dir)
|
num = exclude_pattern (self.files, pattern, prefix=dir)
|
||||||
if num == 0:
|
if num == 0:
|
||||||
template.warn \
|
template.warn \
|
||||||
|
|
Loading…
Reference in New Issue