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

Side by Side Diff: git_cl.py

Issue 22308002: allow running "git cl format" from subdirectories (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: Created 7 years, 4 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 #!/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 import difflib 10 import difflib
(...skipping 2103 matching lines...) Expand 10 before | Expand all | Expand 10 after
2114 DieWithError('Could not find base commit for this branch. ' 2114 DieWithError('Could not find base commit for this branch. '
2115 'Are you in detached state?') 2115 'Are you in detached state?')
2116 2116
2117 diff_cmd.append(upstream_commit) 2117 diff_cmd.append(upstream_commit)
2118 2118
2119 # Handle source file filtering. 2119 # Handle source file filtering.
2120 diff_cmd.append('--') 2120 diff_cmd.append('--')
2121 diff_cmd += ['*' + ext for ext in CLANG_EXTS] 2121 diff_cmd += ['*' + ext for ext in CLANG_EXTS]
2122 diff_output = RunGit(diff_cmd) 2122 diff_output = RunGit(diff_cmd)
2123 2123
2124 top_dir = RunGit(["rev-parse", "--show-toplevel"]).rstrip('\n')
2125
2124 if opts.full: 2126 if opts.full:
2125 # diff_output is a list of files to send to clang-format. 2127 # diff_output is a list of files to send to clang-format.
2126 files = diff_output.splitlines() 2128 files = diff_output.splitlines()
2127 if not files: 2129 if not files:
2128 print "Nothing to format." 2130 print "Nothing to format."
2129 return 0 2131 return 0
2130 RunCommand(['clang-format', '-i', '-style', 'Chromium'] + files) 2132 RunCommand(['clang-format', '-i', '-style', 'Chromium'] + files,
2133 cwd=top_dir)
2131 else: 2134 else:
2132 # diff_output is a patch to send to clang-format-diff.py 2135 # diff_output is a patch to send to clang-format-diff.py
2133 cfd_path = os.path.join('/usr', 'lib', 'clang-format', 2136 cfd_path = os.path.join('/usr', 'lib', 'clang-format',
2134 'clang-format-diff.py') 2137 'clang-format-diff.py')
2135 if not os.path.exists(cfd_path): 2138 if not os.path.exists(cfd_path):
2136 DieWithError('Could not find clang-format-diff at %s.' % cfd_path) 2139 DieWithError('Could not find clang-format-diff at %s.' % cfd_path)
2137 cmd = [sys.executable, cfd_path, '-style', 'Chromium'] 2140 cmd = [sys.executable, cfd_path, '-style', 'Chromium']
2138 RunCommand(cmd, stdin=diff_output) 2141 RunCommand(cmd, stdin=diff_output, cwd=top_dir)
2139 2142
2140 return 0 2143 return 0
2141 2144
2142 2145
2143 ### Glue code for subcommand handling. 2146 ### Glue code for subcommand handling.
2144 2147
2145 2148
2146 def Commands(): 2149 def Commands():
2147 """Returns a dict of command and their handling function.""" 2150 """Returns a dict of command and their handling function."""
2148 module = sys.modules[__name__] 2151 module = sys.modules[__name__]
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
2271 GenUsage(parser, 'help') 2274 GenUsage(parser, 'help')
2272 return CMDhelp(parser, argv) 2275 return CMDhelp(parser, argv)
2273 2276
2274 2277
2275 if __name__ == '__main__': 2278 if __name__ == '__main__':
2276 # These affect sys.stdout so do it outside of main() to simplify mocks in 2279 # These affect sys.stdout so do it outside of main() to simplify mocks in
2277 # unit testing. 2280 # unit testing.
2278 fix_encoding.fix_encoding() 2281 fix_encoding.fix_encoding()
2279 colorama.init() 2282 colorama.init()
2280 sys.exit(main(sys.argv[1:])) 2283 sys.exit(main(sys.argv[1:]))
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