| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 # Copyright (C) 2008 Evan Martin <martine@danga.com> | 6 # Copyright (C) 2008 Evan Martin <martine@danga.com> |
| 7 | 7 |
| 8 """A git-command for integrating reviews on Rietveld.""" | 8 """A git-command for integrating reviews on Rietveld.""" |
| 9 | 9 |
| 10 from distutils.version import LooseVersion | 10 from distutils.version import LooseVersion |
| (...skipping 1364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1375 log_args = [args[0][:-1]] | 1375 log_args = [args[0][:-1]] |
| 1376 elif len(args) == 2: | 1376 elif len(args) == 2: |
| 1377 log_args = [args[0] + '..' + args[1]] | 1377 log_args = [args[0] + '..' + args[1]] |
| 1378 else: | 1378 else: |
| 1379 log_args = args[:] # Hope for the best! | 1379 log_args = args[:] # Hope for the best! |
| 1380 return RunGit(['log', '--pretty=format:%s\n\n%b'] + log_args) | 1380 return RunGit(['log', '--pretty=format:%s\n\n%b'] + log_args) |
| 1381 | 1381 |
| 1382 | 1382 |
| 1383 def CMDlint(parser, args): | 1383 def CMDlint(parser, args): |
| 1384 """Runs cpplint on the current changelist.""" | 1384 """Runs cpplint on the current changelist.""" |
| 1385 _, args = parser.parse_args(args) | 1385 parser.add_option('--filter', action='append', metavar='-x,+y', |
| 1386 help='Comma-separated list of cpplint\'s category-filters') |
| 1387 (options, args) = parser.parse_args(args) |
| 1386 | 1388 |
| 1387 # Access to a protected member _XX of a client class | 1389 # Access to a protected member _XX of a client class |
| 1388 # pylint: disable=W0212 | 1390 # pylint: disable=W0212 |
| 1389 try: | 1391 try: |
| 1390 import cpplint | 1392 import cpplint |
| 1391 import cpplint_chromium | 1393 import cpplint_chromium |
| 1392 except ImportError: | 1394 except ImportError: |
| 1393 print "Your depot_tools is missing cpplint.py and/or cpplint_chromium.py." | 1395 print "Your depot_tools is missing cpplint.py and/or cpplint_chromium.py." |
| 1394 return 1 | 1396 return 1 |
| 1395 | 1397 |
| 1396 # Change the current working directory before calling lint so that it | 1398 # Change the current working directory before calling lint so that it |
| 1397 # shows the correct base. | 1399 # shows the correct base. |
| 1398 previous_cwd = os.getcwd() | 1400 previous_cwd = os.getcwd() |
| 1399 os.chdir(settings.GetRoot()) | 1401 os.chdir(settings.GetRoot()) |
| 1400 try: | 1402 try: |
| 1401 cl = Changelist() | 1403 cl = Changelist() |
| 1402 change = cl.GetChange(cl.GetCommonAncestorWithUpstream(), None) | 1404 change = cl.GetChange(cl.GetCommonAncestorWithUpstream(), None) |
| 1403 files = [f.LocalPath() for f in change.AffectedFiles()] | 1405 files = [f.LocalPath() for f in change.AffectedFiles()] |
| 1404 | 1406 |
| 1405 # Process cpplints arguments if any. | 1407 # Process cpplints arguments if any. |
| 1406 filenames = cpplint.ParseArguments(args + files) | 1408 command = args + files |
| 1409 if options.filter: |
| 1410 command = ['--filter=' + ','.join(options.filter)] + command |
| 1411 filenames = cpplint.ParseArguments(command) |
| 1407 | 1412 |
| 1408 white_regex = re.compile(settings.GetLintRegex()) | 1413 white_regex = re.compile(settings.GetLintRegex()) |
| 1409 black_regex = re.compile(settings.GetLintIgnoreRegex()) | 1414 black_regex = re.compile(settings.GetLintIgnoreRegex()) |
| 1410 extra_check_functions = [cpplint_chromium.CheckPointerDeclarationWhitespace] | 1415 extra_check_functions = [cpplint_chromium.CheckPointerDeclarationWhitespace] |
| 1411 for filename in filenames: | 1416 for filename in filenames: |
| 1412 if white_regex.match(filename): | 1417 if white_regex.match(filename): |
| 1413 if black_regex.match(filename): | 1418 if black_regex.match(filename): |
| 1414 print "Ignoring file %s" % filename | 1419 print "Ignoring file %s" % filename |
| 1415 else: | 1420 else: |
| 1416 cpplint.ProcessFile(filename, cpplint._cpplint_state.verbose_level, | 1421 cpplint.ProcessFile(filename, cpplint._cpplint_state.verbose_level, |
| (...skipping 1109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2526 ('AppEngine is misbehaving and returned HTTP %d, again. Keep faith ' | 2531 ('AppEngine is misbehaving and returned HTTP %d, again. Keep faith ' |
| 2527 'and retry or visit go/isgaeup.\n%s') % (e.code, str(e))) | 2532 'and retry or visit go/isgaeup.\n%s') % (e.code, str(e))) |
| 2528 | 2533 |
| 2529 | 2534 |
| 2530 if __name__ == '__main__': | 2535 if __name__ == '__main__': |
| 2531 # These affect sys.stdout so do it outside of main() to simplify mocks in | 2536 # These affect sys.stdout so do it outside of main() to simplify mocks in |
| 2532 # unit testing. | 2537 # unit testing. |
| 2533 fix_encoding.fix_encoding() | 2538 fix_encoding.fix_encoding() |
| 2534 colorama.init() | 2539 colorama.init() |
| 2535 sys.exit(main(sys.argv[1:])) | 2540 sys.exit(main(sys.argv[1:])) |
| OLD | NEW |