| Index: gcl.py
|
| ===================================================================
|
| --- gcl.py (revision 30308)
|
| +++ gcl.py (working copy)
|
| @@ -132,7 +132,7 @@
|
| directory to the root repository.
|
|
|
| Note: The cache will be inconsistent if the same file is retrieved with both
|
| - use_root=True and use_root=False on the same file. Don't be stupid.
|
| + use_root=True and use_root=False. Don't be stupid.
|
| """
|
| global FILES_CACHE
|
| if filename not in FILES_CACHE:
|
| @@ -153,9 +153,16 @@
|
| url_path = dir_info["URL"]
|
| content = ""
|
| while True:
|
| - # Look for the codereview.settings file at the current level.
|
| - svn_path = url_path + "/" + filename
|
| - content, rc = RunShellWithReturnCode(["svn", "cat", svn_path])
|
| + # First, look for a locally modified version of codereview.settings.
|
| + content, rc = RunShellWithReturnCode(["svn", "status", filename])
|
| + if not rc and content.startswith('M'):
|
| + content = ReadFile(filename)
|
| + rc = 0
|
| + else:
|
| + # Then look in the repository
|
| + svn_path = url_path + "/" + filename
|
| + content, rc = RunShellWithReturnCode(["svn", "cat", svn_path])
|
| +
|
| if not rc:
|
| # Exit the loop if the file was found. Override content.
|
| break
|
| @@ -1077,7 +1084,8 @@
|
| IGNORE_PATHS = (os.path.join("webkit","api"),)
|
|
|
| # Valid extensions for files we want to lint.
|
| -CPP_EXTENSIONS = ("cpp", "cc", "h")
|
| +LINT_REGEX = r"(.*\.cpp|.*\.cc|.*\.h)"
|
| +LINT_IGNORE_REGEX = r""
|
|
|
| def Lint(change_info, args):
|
| """Runs cpplint.py on all the files in |change_info|"""
|
| @@ -1094,12 +1102,22 @@
|
| # Process cpplints arguments if any.
|
| filenames = cpplint.ParseArguments(args + change_info.GetFileNames())
|
|
|
| + white_list = GetCodeReviewSetting("LINT_REGEX")
|
| + if not white_list:
|
| + white_list = LINT_REGEX
|
| + white_regex = re.compile(white_list)
|
| + black_list = GetCodeReviewSetting("LINT_IGNORE_REGEX")
|
| + if not black_list:
|
| + black_list = LINT_IGNORE_REGEX
|
| + black_regex = re.compile(black_list)
|
| for file in filenames:
|
| - if len([file for suffix in CPP_EXTENSIONS if file.endswith(suffix)]):
|
| - if len([file for prefix in IGNORE_PATHS if file.startswith(prefix)]):
|
| - print "Ignoring non-Google styled file %s" % file
|
| + if white_regex.match(file):
|
| + if black_regex.match(file):
|
| + print "Ignoring file %s" % file
|
| else:
|
| cpplint.ProcessFile(file, cpplint._cpplint_state.verbose_level)
|
| + else:
|
| + print "Skipping file %s" % file
|
|
|
| print "Total errors found: %d\n" % cpplint._cpplint_state.error_count
|
| os.chdir(previous_cwd)
|
|
|