From 0409c8d6ece4a46cb53a19844c539f5305a9ad9a Mon Sep 17 00:00:00 2001 From: "yangguo@chromium.org" Date: Fri, 2 Sep 2011 08:04:51 +0000 Subject: [PATCH] Only presubmit check files in git repo for copyright note etc. (if using git). Review URL: http://codereview.chromium.org/7792068 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- tools/presubmit.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tools/presubmit.py b/tools/presubmit.py index 7b4719f..50d2620 100755 --- a/tools/presubmit.py +++ b/tools/presubmit.py @@ -42,6 +42,7 @@ import pickle import re import sys import subprocess +from subprocess import PIPE # Disabled LINT rules and reason. # build/include_what_you_use: Started giving false positives for variables @@ -236,6 +237,23 @@ class SourceProcessor(SourceFileProcessor): RELEVANT_EXTENSIONS = ['.js', '.cc', '.h', '.py', '.c', 'SConscript', 'SConstruct', '.status', '.gyp', '.gypi'] + # Overwriting the one in the parent class. + def FindFilesIn(self, path): + if os.path.exists(path+'/.git'): + output = subprocess.Popen('git ls-files --full-name', + stdout=PIPE, cwd=path, shell=True) + result = [] + for file in output.stdout.read().split(): + for dir_part in os.path.dirname(file).split(os.sep): + if self.IgnoreDir(dir_part): + break + else: + if self.IsRelevant(file) and not self.IgnoreFile(file): + result.append(join(path, file)) + if output.wait() == 0: + return result + return super(SourceProcessor, self).FindFilesIn(path) + def IsRelevant(self, name): for ext in SourceProcessor.RELEVANT_EXTENSIONS: if name.endswith(ext): -- 2.7.4