Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(626)

Side by Side Diff: owners.py

Issue 11236018: use "/" instead of path.sep in owners glob check (Closed) Base URL: https://git.chromium.org/chromium/tools/depot_tools.git@master
Patch Set: fix lint error Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """A database of OWNERS files. 5 """A database of OWNERS files.
6 6
7 OWNERS files indicate who is allowed to approve changes in a specific directory 7 OWNERS files indicate who is allowed to approve changes in a specific directory
8 (or who is allowed to make changes without needing approval of another OWNER). 8 (or who is allowed to make changes without needing approval of another OWNER).
9 Note that all changes must still be reviewed by someone familiar with the code, 9 Note that all changes must still be reviewed by someone familiar with the code,
10 so you may need approval from both an OWNER and a reviewer in many cases. 10 so you may need approval from both an OWNER and a reviewer in many cases.
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 continue 217 continue
218 if line == 'set noparent': 218 if line == 'set noparent':
219 self.stop_looking.add(dirpath) 219 self.stop_looking.add(dirpath)
220 continue 220 continue
221 221
222 m = re.match("per-file (.+)=(.+)", line) 222 m = re.match("per-file (.+)=(.+)", line)
223 if m: 223 if m:
224 glob_string = m.group(1) 224 glob_string = m.group(1)
225 directive = m.group(2) 225 directive = m.group(2)
226 full_glob_string = self.os_path.join(self.root, dirpath, glob_string) 226 full_glob_string = self.os_path.join(self.root, dirpath, glob_string)
227 if self.os_path.sep in glob_string: 227 if '/' in glob_string or '\\' in glob_string:
228 raise SyntaxErrorInOwnersFile(owners_path, lineno, 228 raise SyntaxErrorInOwnersFile(owners_path, lineno,
229 'per-file globs cannot span directories: "%s"' % line) 229 'per-file globs cannot span directories or use escapes: "%s"' %
230 line)
230 baselines = self.glob(full_glob_string) 231 baselines = self.glob(full_glob_string)
231 for baseline in (self.os_path.relpath(b, self.root) for b in baselines): 232 for baseline in (self.os_path.relpath(b, self.root) for b in baselines):
232 self._add_entry(baseline, directive, "per-file line", 233 self._add_entry(baseline, directive, "per-file line",
233 owners_path, lineno) 234 owners_path, lineno)
234 continue 235 continue
235 236
236 if line.startswith('set '): 237 if line.startswith('set '):
237 raise SyntaxErrorInOwnersFile(owners_path, lineno, 238 raise SyntaxErrorInOwnersFile(owners_path, lineno,
238 'unknown option: "%s"' % line[4:].strip()) 239 'unknown option: "%s"' % line[4:].strip())
239 240
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 break 300 break
300 301
301 final_owners.add(max_owner) 302 final_owners.add(max_owner)
302 303
303 # Remove all directories owned by the current owner from the remaining 304 # Remove all directories owned by the current owner from the remaining
304 # list. 305 # list.
305 for dirname in owned_dirs[max_owner]: 306 for dirname in owned_dirs[max_owner]:
306 dirs.discard(dirname) 307 dirs.discard(dirname)
307 308
308 return final_owners 309 return final_owners
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698