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

Side by Side Diff: git_cl.py

Issue 2055233002: Update message for Gerrit git cl --no-squash users. (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: 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') | tests/git_cl_test.py » ('J')
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 distutils.version import LooseVersion 10 from distutils.version import LooseVersion
(...skipping 2321 matching lines...) Expand 10 before | Expand all | Expand 10 after
2332 if reply.lower().startswith('y'): 2332 if reply.lower().startswith('y'):
2333 gclient_utils.rm_file_or_tree(hook) 2333 gclient_utils.rm_file_or_tree(hook)
2334 print('Gerrit commit-msg hook removed.') 2334 print('Gerrit commit-msg hook removed.')
2335 else: 2335 else:
2336 print('OK, will keep Gerrit commit-msg hook in place.') 2336 print('OK, will keep Gerrit commit-msg hook in place.')
2337 2337
2338 def CMDUploadChange(self, options, args, change): 2338 def CMDUploadChange(self, options, args, change):
2339 """Upload the current branch to Gerrit.""" 2339 """Upload the current branch to Gerrit."""
2340 if options.squash and options.no_squash: 2340 if options.squash and options.no_squash:
2341 DieWithError('Can only use one of --squash or --no-squash') 2341 DieWithError('Can only use one of --squash or --no-squash')
2342 # TODO(tandrii): remove this by June 20.
2343 if (RunGit(['config', '--bool', 'gerrit.squash-uploads'],
2344 error_ok=True).strip() != 'false' and not options.squash and
2345 not options.no_squash):
2346 print('\n\nHi! You are using git cl upload in --no-squash mode.\n'
2347 'Chrome infrastructure wants to make --squash the default.\n'
2348 'To ensure that --no-squash is still the default for YOU do:\n'
2349 ' git config --bool gerrit.squash-uploads false\n'
2350 'See https://goo.gl/dnK2gV (use chromium.org account!) and '
2351 'let us know what you think. Thanks!\n'
2352 'BUG: http://crbug.com/611892\n\n')
2353
2342 options.squash = ((settings.GetSquashGerritUploads() or options.squash) and 2354 options.squash = ((settings.GetSquashGerritUploads() or options.squash) and
tandrii(chromium) 2016/06/10 15:33:03 this is the other point at which it's called. Yes,
2343 not options.no_squash) 2355 not options.no_squash)
2356
2344 # We assume the remote called "origin" is the one we want. 2357 # We assume the remote called "origin" is the one we want.
2345 # It is probably not worthwhile to support different workflows. 2358 # It is probably not worthwhile to support different workflows.
2346 gerrit_remote = 'origin' 2359 gerrit_remote = 'origin'
2347 2360
2348 remote, remote_branch = self.GetRemoteBranch() 2361 remote, remote_branch = self.GetRemoteBranch()
2349 branch = GetTargetRef(remote, remote_branch, options.target_branch, 2362 branch = GetTargetRef(remote, remote_branch, options.target_branch,
2350 pending_prefix='') 2363 pending_prefix='')
2351 2364
2352 if options.squash: 2365 if options.squash:
2353 self._GerritCommitMsgHookCheck(offer_removal=not options.force) 2366 self._GerritCommitMsgHookCheck(offer_removal=not options.force)
(...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after
2863 """ 2876 """
2864 if not settings.GetIsGerrit(): 2877 if not settings.GetIsGerrit():
2865 return 2878 return
2866 src = 'https://gerrit-review.googlesource.com/tools/hooks/commit-msg' 2879 src = 'https://gerrit-review.googlesource.com/tools/hooks/commit-msg'
2867 dst = os.path.join(settings.GetRoot(), '.git', 'hooks', 'commit-msg') 2880 dst = os.path.join(settings.GetRoot(), '.git', 'hooks', 'commit-msg')
2868 if not os.access(dst, os.X_OK): 2881 if not os.access(dst, os.X_OK):
2869 if os.path.exists(dst): 2882 if os.path.exists(dst):
2870 if not force: 2883 if not force:
2871 return 2884 return
2872 try: 2885 try:
2873 print(
2874 'WARNING: installing Gerrit commit-msg hook.\n'
2875 ' This behavior of git cl will soon be disabled.\n'
2876 ' See bug http://crbug.com/579176.')
2877 urlretrieve(src, dst) 2886 urlretrieve(src, dst)
2878 if not hasSheBang(dst): 2887 if not hasSheBang(dst):
2879 DieWithError('Not a script: %s\n' 2888 DieWithError('Not a script: %s\n'
2880 'You need to download from\n%s\n' 2889 'You need to download from\n%s\n'
2881 'into .git/hooks/commit-msg and ' 2890 'into .git/hooks/commit-msg and '
2882 'chmod +x .git/hooks/commit-msg' % (dst, src)) 2891 'chmod +x .git/hooks/commit-msg' % (dst, src))
2883 os.chmod(dst, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR) 2892 os.chmod(dst, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR)
2884 except Exception: 2893 except Exception:
2885 if os.path.exists(dst): 2894 if os.path.exists(dst):
2886 os.remove(dst) 2895 os.remove(dst)
(...skipping 2137 matching lines...) Expand 10 before | Expand all | Expand 10 after
5024 if __name__ == '__main__': 5033 if __name__ == '__main__':
5025 # These affect sys.stdout so do it outside of main() to simplify mocks in 5034 # These affect sys.stdout so do it outside of main() to simplify mocks in
5026 # unit testing. 5035 # unit testing.
5027 fix_encoding.fix_encoding() 5036 fix_encoding.fix_encoding()
5028 setup_color.init() 5037 setup_color.init()
5029 try: 5038 try:
5030 sys.exit(main(sys.argv[1:])) 5039 sys.exit(main(sys.argv[1:]))
5031 except KeyboardInterrupt: 5040 except KeyboardInterrupt:
5032 sys.stderr.write('interrupted\n') 5041 sys.stderr.write('interrupted\n')
5033 sys.exit(1) 5042 sys.exit(1)
OLDNEW
« no previous file with comments | « no previous file | tests/git_cl_test.py » ('j') | tests/git_cl_test.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698