Index: apply_issue.py |
diff --git a/apply_issue.py b/apply_issue.py |
index 75ea60918d88e4a04de0bab9b75ebdf3504b9c0b..91fe2f7f509a427b183600ab8f9949eb55fafc05 100755 |
--- a/apply_issue.py |
+++ b/apply_issue.py |
@@ -87,10 +87,17 @@ def main(): |
'is detected.') |
parser.add_option('-b', '--base_ref', help='Base git ref to patch on top of, ' |
'used for verification.') |
+ parser.add_option('--whitelist', action='append', default=[], |
+ help='Patch only specified file(s).') |
+ parser.add_option('--blacklist', action='append', default=[], |
+ help='Don\'t patch specified file(s).') |
parser.add_option('-d', '--ignore_deps', action='store_true', |
help='Don\'t run gclient sync on DEPS changes.') |
options, args = parser.parse_args() |
+ if options.whitelist and options.blacklist: |
+ parser.error('Cannot specify both --whitelist and --blacklist') |
+ |
if options.password and options.private_key_file: |
parser.error('-k and -w options are incompatible') |
if options.email and options.email_file: |
@@ -185,6 +192,12 @@ def main(): |
options.issue, options.patchset, |
options.server, options.issue) |
return 1 |
+ if options.whitelist: |
+ patchset.patches = [patch for patch in patchset.patches |
+ if patch.filename in options.whitelist] |
+ if options.blacklist: |
+ patchset.patches = [patch for patch in patchset.patches |
+ if patch.filename not in options.blacklist] |
for patch in patchset.patches: |
print(patch) |
full_dir = os.path.abspath(options.root_dir) |