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

Side by Side Diff: git_cl.py

Issue 10915072: add --force option for presubmit command (Closed) Base URL: https://git.chromium.org/chromium/tools/depot_tools.git@master
Patch Set: Created 8 years, 3 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 | trychange.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 908 matching lines...) Expand 10 before | Expand all | Expand 10 after
919 log_args = [args[0] + '..' + args[1]] 919 log_args = [args[0] + '..' + args[1]]
920 else: 920 else:
921 log_args = args[:] # Hope for the best! 921 log_args = args[:] # Hope for the best!
922 return RunGit(['log', '--pretty=format:%s\n\n%b'] + log_args) 922 return RunGit(['log', '--pretty=format:%s\n\n%b'] + log_args)
923 923
924 924
925 def CMDpresubmit(parser, args): 925 def CMDpresubmit(parser, args):
926 """run presubmit tests on the current changelist""" 926 """run presubmit tests on the current changelist"""
927 parser.add_option('--upload', action='store_true', 927 parser.add_option('--upload', action='store_true',
928 help='Run upload hook instead of the push/dcommit hook') 928 help='Run upload hook instead of the push/dcommit hook')
929 parser.add_option('--force', action='store_true',
930 help='Run checks even if tree is dirty')
929 (options, args) = parser.parse_args(args) 931 (options, args) = parser.parse_args(args)
930 932
931 # Make sure index is up-to-date before running diff-index. 933 # Make sure index is up-to-date before running diff-index.
932 RunGit(['update-index', '--refresh', '-q'], error_ok=True) 934 RunGit(['update-index', '--refresh', '-q'], error_ok=True)
933 if RunGit(['diff-index', 'HEAD']): 935 if not options.force and RunGit(['diff-index', 'HEAD']):
934 # TODO(maruel): Is this really necessary? 936 # TODO(maruel): Is this really necessary?
935 print 'Cannot presubmit with a dirty tree. You must commit locally first.' 937 print ('Cannot presubmit with a dirty tree.\n'
938 'You must commit locally first (or use --force).')
936 return 1 939 return 1
937 940
938 cl = Changelist() 941 cl = Changelist()
939 if args: 942 if args:
940 base_branch = args[0] 943 base_branch = args[0]
941 else: 944 else:
942 # Default to diffing against the "upstream" branch. 945 # Default to diffing against the "upstream" branch.
943 base_branch = cl.GetUpstreamBranch() 946 base_branch = cl.GetUpstreamBranch()
944 947
945 cl.RunHook(committing=not options.upload, upstream_branch=base_branch, 948 cl.RunHook(committing=not options.upload, upstream_branch=base_branch,
(...skipping 664 matching lines...) Expand 10 before | Expand all | Expand 10 after
1610 'and retry or visit go/isgaeup.\n%s') % (e.code, str(e))) 1613 'and retry or visit go/isgaeup.\n%s') % (e.code, str(e)))
1611 1614
1612 # Not a known command. Default to help. 1615 # Not a known command. Default to help.
1613 GenUsage(parser, 'help') 1616 GenUsage(parser, 'help')
1614 return CMDhelp(parser, argv) 1617 return CMDhelp(parser, argv)
1615 1618
1616 1619
1617 if __name__ == '__main__': 1620 if __name__ == '__main__':
1618 fix_encoding.fix_encoding() 1621 fix_encoding.fix_encoding()
1619 sys.exit(main(sys.argv[1:])) 1622 sys.exit(main(sys.argv[1:]))
OLDNEW
« no previous file with comments | « no previous file | trychange.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698