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

Side by Side Diff: git_cl.py

Issue 2072363002: Gerrit git cl upload: --squash is now default. (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@cl-squash
Patch Set: add test for default Created 4 years, 6 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 | 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 and Gerrit.""" 8 """A git-command for integrating reviews on Rietveld and Gerrit."""
9 9
10 from __future__ import print_function 10 from __future__ import print_function
(...skipping 752 matching lines...) Expand 10 before | Expand all | Expand 10 after
763 763
764 def GetIsGerrit(self): 764 def GetIsGerrit(self):
765 """Return true if this repo is assosiated with gerrit code review system.""" 765 """Return true if this repo is assosiated with gerrit code review system."""
766 if self.is_gerrit is None: 766 if self.is_gerrit is None:
767 self.is_gerrit = self._GetConfig('gerrit.host', error_ok=True) 767 self.is_gerrit = self._GetConfig('gerrit.host', error_ok=True)
768 return self.is_gerrit 768 return self.is_gerrit
769 769
770 def GetSquashGerritUploads(self): 770 def GetSquashGerritUploads(self):
771 """Return true if uploads to Gerrit should be squashed by default.""" 771 """Return true if uploads to Gerrit should be squashed by default."""
772 if self.squash_gerrit_uploads is None: 772 if self.squash_gerrit_uploads is None:
773 self.squash_gerrit_uploads = ( 773 self.squash_gerrit_uploads = self.GetSquashGerritUploadsOverride()
774 RunGit(['config', '--bool', 'gerrit.squash-uploads'], 774 if self.squash_gerrit_uploads is None:
775 error_ok=True).strip() == 'true') 775 # Default is squash now (http://crbug.com/611892#c23).
776 self.squash_gerrit_uploads = not (
777 RunGit(['config', '--bool', 'gerrit.squash-uploads'],
778 error_ok=True).strip() == 'false')
776 return self.squash_gerrit_uploads 779 return self.squash_gerrit_uploads
777 780
781 def GetSquashGerritUploadsOverride(self):
782 """Return True or False if codereview.settings should be overridden.
783
784 Returns None if no override has been defined.
785 """
786 # See also http://crbug.com/611892#c23
787 result = RunGit(['config', '--bool', 'gerrit.override-squash-uploads'],
788 error_ok=True).strip()
789 if result == 'true':
790 return True
791 if result == 'false':
792 return False
793 return None
794
778 def GetGerritSkipEnsureAuthenticated(self): 795 def GetGerritSkipEnsureAuthenticated(self):
779 """Return True if EnsureAuthenticated should not be done for Gerrit 796 """Return True if EnsureAuthenticated should not be done for Gerrit
780 uploads.""" 797 uploads."""
781 if self.gerrit_skip_ensure_authenticated is None: 798 if self.gerrit_skip_ensure_authenticated is None:
782 self.gerrit_skip_ensure_authenticated = ( 799 self.gerrit_skip_ensure_authenticated = (
783 RunGit(['config', '--bool', 'gerrit.skip-ensure-authenticated'], 800 RunGit(['config', '--bool', 'gerrit.skip-ensure-authenticated'],
784 error_ok=True).strip() == 'true') 801 error_ok=True).strip() == 'true')
785 return self.gerrit_skip_ensure_authenticated 802 return self.gerrit_skip_ensure_authenticated
786 803
787 def GetGitEditor(self): 804 def GetGitEditor(self):
(...skipping 1543 matching lines...) Expand 10 before | Expand all | Expand 10 after
2331 if reply.lower().startswith('y'): 2348 if reply.lower().startswith('y'):
2332 gclient_utils.rm_file_or_tree(hook) 2349 gclient_utils.rm_file_or_tree(hook)
2333 print('Gerrit commit-msg hook removed.') 2350 print('Gerrit commit-msg hook removed.')
2334 else: 2351 else:
2335 print('OK, will keep Gerrit commit-msg hook in place.') 2352 print('OK, will keep Gerrit commit-msg hook in place.')
2336 2353
2337 def CMDUploadChange(self, options, args, change): 2354 def CMDUploadChange(self, options, args, change):
2338 """Upload the current branch to Gerrit.""" 2355 """Upload the current branch to Gerrit."""
2339 if options.squash and options.no_squash: 2356 if options.squash and options.no_squash:
2340 DieWithError('Can only use one of --squash or --no-squash') 2357 DieWithError('Can only use one of --squash or --no-squash')
2341 options.squash = ((settings.GetSquashGerritUploads() or options.squash) and 2358
2342 not options.no_squash) 2359 if not options.squash and not options.no_squash:
2360 # Load default for user, repo, squash=true, in this order.
2361 options.squash = settings.GetSquashGerritUploads()
2362 elif options.no_squash:
2363 options.squash = False
2343 2364
2344 # We assume the remote called "origin" is the one we want. 2365 # We assume the remote called "origin" is the one we want.
2345 # It is probably not worthwhile to support different workflows. 2366 # It is probably not worthwhile to support different workflows.
2346 gerrit_remote = 'origin' 2367 gerrit_remote = 'origin'
2347 2368
2348 remote, remote_branch = self.GetRemoteBranch() 2369 remote, remote_branch = self.GetRemoteBranch()
2349 branch = GetTargetRef(remote, remote_branch, options.target_branch, 2370 branch = GetTargetRef(remote, remote_branch, options.target_branch,
2350 pending_prefix='') 2371 pending_prefix='')
2351 2372
2352 if options.squash: 2373 if options.squash:
(...skipping 2667 matching lines...) Expand 10 before | Expand all | Expand 10 after
5020 if __name__ == '__main__': 5041 if __name__ == '__main__':
5021 # These affect sys.stdout so do it outside of main() to simplify mocks in 5042 # These affect sys.stdout so do it outside of main() to simplify mocks in
5022 # unit testing. 5043 # unit testing.
5023 fix_encoding.fix_encoding() 5044 fix_encoding.fix_encoding()
5024 setup_color.init() 5045 setup_color.init()
5025 try: 5046 try:
5026 sys.exit(main(sys.argv[1:])) 5047 sys.exit(main(sys.argv[1:]))
5027 except KeyboardInterrupt: 5048 except KeyboardInterrupt:
5028 sys.stderr.write('interrupted\n') 5049 sys.stderr.write('interrupted\n')
5029 sys.exit(1) 5050 sys.exit(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