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

Side by Side Diff: git_cl.py

Issue 12811006: Save the GIT hash of HEAD when uploading to rietveld. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools/
Patch Set: Address review comments Created 7 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | tests/git_cl_test.py » ('j') | 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 json 10 import json
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 def ask_for_data(prompt): 88 def ask_for_data(prompt):
89 try: 89 try:
90 return raw_input(prompt) 90 return raw_input(prompt)
91 except KeyboardInterrupt: 91 except KeyboardInterrupt:
92 # Hide the exception. 92 # Hide the exception.
93 sys.exit(1) 93 sys.exit(1)
94 94
95 95
96 def git_set_branch_value(key, value): 96 def git_set_branch_value(key, value):
97 branch = Changelist().GetBranch() 97 branch = Changelist().GetBranch()
98 if branch: 98 if not branch:
99 git_key = 'branch.%s.%s' % (branch, key) 99 return
100 RunGit(['config', '--int', git_key, "%d" % value]) 100
101 cmd = ['config']
102 if isinstance(value, int):
103 cmd.append('--int')
104 git_key = 'branch.%s.%s' % (branch, key)
105 RunGit(cmd + [git_key, str(value)])
101 106
102 107
103 def git_get_branch_default(key, default): 108 def git_get_branch_default(key, default):
104 branch = Changelist().GetBranch() 109 branch = Changelist().GetBranch()
105 if branch: 110 if branch:
106 git_key = 'branch.%s.%s' % (branch, key) 111 git_key = 'branch.%s.%s' % (branch, key)
107 (_, stdout) = RunGitWithCode(['config', '--int', '--get', git_key]) 112 (_, stdout) = RunGitWithCode(['config', '--int', '--get', git_key])
108 try: 113 try:
109 return int(stdout.strip()) 114 return int(stdout.strip())
110 except ValueError: 115 except ValueError:
(...skipping 1170 matching lines...) Expand 10 before | Expand all | Expand 10 after
1281 verbose=options.verbose, 1286 verbose=options.verbose,
1282 change=change) 1287 change=change)
1283 if not hook_results.should_continue(): 1288 if not hook_results.should_continue():
1284 return 1 1289 return 1
1285 if not options.reviewers and hook_results.reviewers: 1290 if not options.reviewers and hook_results.reviewers:
1286 options.reviewers = hook_results.reviewers 1291 options.reviewers = hook_results.reviewers
1287 1292
1288 print_stats(options.similarity, options.find_copies, args) 1293 print_stats(options.similarity, options.find_copies, args)
1289 if settings.GetIsGerrit(): 1294 if settings.GetIsGerrit():
1290 return GerritUpload(options, args, cl) 1295 return GerritUpload(options, args, cl)
1291 return RietveldUpload(options, args, cl) 1296 ret = RietveldUpload(options, args, cl)
1297 if not ret:
1298 git_set_branch_value('last-upload-hash', RunGit(['rev-parse', 'HEAD']))
1299
1300 return ret
1292 1301
1293 1302
1294 def IsSubmoduleMergeCommit(ref): 1303 def IsSubmoduleMergeCommit(ref):
1295 # When submodules are added to the repo, we expect there to be a single 1304 # When submodules are added to the repo, we expect there to be a single
1296 # non-git-svn merge commit at remote HEAD with a signature comment. 1305 # non-git-svn merge commit at remote HEAD with a signature comment.
1297 pattern = '^SVN changes up to revision [0-9]*$' 1306 pattern = '^SVN changes up to revision [0-9]*$'
1298 cmd = ['rev-list', '--merges', '--grep=%s' % pattern, '%s^!' % ref] 1307 cmd = ['rev-list', '--merges', '--grep=%s' % pattern, '%s^!' % ref]
1299 return RunGit(cmd) != '' 1308 return RunGit(cmd) != ''
1300 1309
1301 1310
(...skipping 581 matching lines...) Expand 10 before | Expand all | Expand 10 after
1883 'and retry or visit go/isgaeup.\n%s') % (e.code, str(e))) 1892 'and retry or visit go/isgaeup.\n%s') % (e.code, str(e)))
1884 1893
1885 # Not a known command. Default to help. 1894 # Not a known command. Default to help.
1886 GenUsage(parser, 'help') 1895 GenUsage(parser, 'help')
1887 return CMDhelp(parser, argv) 1896 return CMDhelp(parser, argv)
1888 1897
1889 1898
1890 if __name__ == '__main__': 1899 if __name__ == '__main__':
1891 fix_encoding.fix_encoding() 1900 fix_encoding.fix_encoding()
1892 sys.exit(main(sys.argv[1:])) 1901 sys.exit(main(sys.argv[1:]))
OLDNEW
« no previous file with comments | « no previous file | tests/git_cl_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698