Chromium Code Reviews| Index: PRESUBMIT.py |
| diff --git a/PRESUBMIT.py b/PRESUBMIT.py |
| index 65df2245acad080469ceb9c7202cc7a4c2bac924..ffb668cd1e9bed5aa9beebabf853f7b5cb68e661 100644 |
| --- a/PRESUBMIT.py |
| +++ b/PRESUBMIT.py |
| @@ -68,6 +68,49 @@ def _CheckSingletonInHeaders(input_api, output_api, source_file_filter): |
| files) ] |
| return [] |
| + |
| +def _CheckSubversionConfig(input_api, output_api): |
| + """Verifies the subversion config file is correctly setup. |
| + |
| + Checks that autoprops are enabled, returns an error otherwise. |
| + """ |
| + join = input_api.os_path.join |
| + if input_api.platform == 'win32': |
| + appdata = input_api.environ.get('APPDATA', '') |
| + if not appdata: |
| + return [output_api.PresubmitError('%APPDATA% is not configured.')] |
| + path = join(appdata, 'Subversion', 'config') |
| + else: |
| + home = input_api.environ.get('HOME', '') |
| + if not home: |
| + return [output_api.PresubmitError('$HOME is not configured.')] |
| + path = join(home, '.subversion', 'config') |
| + |
| + error_msg = ( |
| + 'Please look at http://dev.chromium.org/developers/coding-style to\n' |
| + 'configure your subversion configuration file. This enables automatic\n' |
| + 'properties to simplify the project maintenance.') |
| + |
| + try: |
| + lines = open(path, 'r').read().splitlines() |
| + # Make sure auto-props is enabled and check for 2 Chromium standard |
| + # auto-prop. |
| + if (not '*.cc = svn:eol-style=LF' in lines or |
| + not '*.pdf = svn:mime-type=application/pdf' in lines or |
| + not 'enable-auto-props = yes' in lines): |
| + return [ |
| + output_api.PresubmitError( |
| + 'It looks like you have not configured your subversion config ' |
| + 'file.\n' + error_msg) |
|
wtc
2011/01/31 22:37:36
I got this error message when I tried to commit a
|
| + ] |
| + except (OSError, IOError): |
| + return [ |
| + output_api.PresubmitError( |
| + 'Can\'t find your subversion config file.\n' + error_msg) |
| + ] |
| + return [] |
| + |
| + |
| def _CheckConstNSObject(input_api, output_api, source_file_filter): |
| """Checks to make sure no objective-c files have |const NSSomeClass*|.""" |
| pattern = input_api.re.compile(r'const\s+NS\w*\s*\*') |
| @@ -172,6 +215,7 @@ def CheckChangeOnCommit(input_api, output_api): |
| input_api, output_api)) |
| results.extend(input_api.canned_checks.CheckChangeHasTestField( |
| input_api, output_api)) |
| + results.extend(_CheckSubversionConfig(input_api, output_api)) |
| return results |