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

Side by Side Diff: git_cl.py

Issue 1884173003: Allow to skip EnsureAuthenticated for Gerrit. (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: Created 4 years, 8 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 distutils.version import LooseVersion 10 from distutils.version import LooseVersion
(...skipping 571 matching lines...) Expand 10 before | Expand all | Expand 10 after
582 self.default_server = None 582 self.default_server = None
583 self.cc = None 583 self.cc = None
584 self.root = None 584 self.root = None
585 self.is_git_svn = None 585 self.is_git_svn = None
586 self.svn_branch = None 586 self.svn_branch = None
587 self.tree_status_url = None 587 self.tree_status_url = None
588 self.viewvc_url = None 588 self.viewvc_url = None
589 self.updated = False 589 self.updated = False
590 self.is_gerrit = None 590 self.is_gerrit = None
591 self.squash_gerrit_uploads = None 591 self.squash_gerrit_uploads = None
592 self.gerrit_skip_ensure_authenticated = None
592 self.git_editor = None 593 self.git_editor = None
593 self.project = None 594 self.project = None
594 self.force_https_commit_url = None 595 self.force_https_commit_url = None
595 self.pending_ref_prefix = None 596 self.pending_ref_prefix = None
596 597
597 def LazyUpdateIfNeeded(self): 598 def LazyUpdateIfNeeded(self):
598 """Updates the settings from a codereview.settings file, if available.""" 599 """Updates the settings from a codereview.settings file, if available."""
599 if not self.updated: 600 if not self.updated:
600 # The only value that actually changes the behavior is 601 # The only value that actually changes the behavior is
601 # autoupdate = "false". Everything else means "true". 602 # autoupdate = "false". Everything else means "true".
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
764 return self.is_gerrit 765 return self.is_gerrit
765 766
766 def GetSquashGerritUploads(self): 767 def GetSquashGerritUploads(self):
767 """Return true if uploads to Gerrit should be squashed by default.""" 768 """Return true if uploads to Gerrit should be squashed by default."""
768 if self.squash_gerrit_uploads is None: 769 if self.squash_gerrit_uploads is None:
769 self.squash_gerrit_uploads = ( 770 self.squash_gerrit_uploads = (
770 RunGit(['config', '--bool', 'gerrit.squash-uploads'], 771 RunGit(['config', '--bool', 'gerrit.squash-uploads'],
771 error_ok=True).strip() == 'true') 772 error_ok=True).strip() == 'true')
772 return self.squash_gerrit_uploads 773 return self.squash_gerrit_uploads
773 774
775 def GetGerritSkipEnsureAuthenticated(self):
776 """Return True if EnsureAuthenticated should not be done for Gerrit
777 uploads."""
778 if self.gerrit_skip_ensure_authenticated is None:
779 self.gerrit_skip_ensure_authenticated = (
780 RunGit(['config', '--bool', 'gerrit.skip_ensure_authenticated'],
781 error_ok=True).strip() == 'true')
782 return self.gerrit_skip_ensure_authenticated
783
774 def GetGitEditor(self): 784 def GetGitEditor(self):
775 """Return the editor specified in the git config, or None if none is.""" 785 """Return the editor specified in the git config, or None if none is."""
776 if self.git_editor is None: 786 if self.git_editor is None:
777 self.git_editor = self._GetConfig('core.editor', error_ok=True) 787 self.git_editor = self._GetConfig('core.editor', error_ok=True)
778 return self.git_editor or None 788 return self.git_editor or None
779 789
780 def GetLintRegex(self): 790 def GetLintRegex(self):
781 return (self._GetRietveldConfig('cpplint-regex', error_ok=True) or 791 return (self._GetRietveldConfig('cpplint-regex', error_ok=True) or
782 DEFAULT_LINT_REGEX) 792 DEFAULT_LINT_REGEX)
783 793
(...skipping 1231 matching lines...) Expand 10 before | Expand all | Expand 10 after
2015 self._gerrit_host = '.'.join(parts) 2025 self._gerrit_host = '.'.join(parts)
2016 self._gerrit_server = 'https://%s' % self._gerrit_host 2026 self._gerrit_server = 'https://%s' % self._gerrit_host
2017 return self._gerrit_server 2027 return self._gerrit_server
2018 2028
2019 @classmethod 2029 @classmethod
2020 def IssueSettingSuffix(cls): 2030 def IssueSettingSuffix(cls):
2021 return 'gerritissue' 2031 return 'gerritissue'
2022 2032
2023 def EnsureAuthenticated(self, force): 2033 def EnsureAuthenticated(self, force):
2024 """Best effort check that user is authenticated with Gerrit server.""" 2034 """Best effort check that user is authenticated with Gerrit server."""
2035 if settings.GetGerritSkipEnsureAuthenticated():
2036 # For projects with unusual authentication schemes.
2037 # See http://crbug.com/603378.
2038 return
2025 # Lazy-loader to identify Gerrit and Git hosts. 2039 # Lazy-loader to identify Gerrit and Git hosts.
2026 if gerrit_util.GceAuthenticator.is_gce(): 2040 if gerrit_util.GceAuthenticator.is_gce():
2027 return 2041 return
2028 self.GetCodereviewServer() 2042 self.GetCodereviewServer()
2029 git_host = self._GetGitHost() 2043 git_host = self._GetGitHost()
2030 assert self._gerrit_server and self._gerrit_host 2044 assert self._gerrit_server and self._gerrit_host
2031 cookie_auth = gerrit_util.CookiesAuthenticator() 2045 cookie_auth = gerrit_util.CookiesAuthenticator()
2032 2046
2033 gerrit_auth = cookie_auth.get_auth_header(self._gerrit_host) 2047 gerrit_auth = cookie_auth.get_auth_header(self._gerrit_host)
2034 git_auth = cookie_auth.get_auth_header(git_host) 2048 git_auth = cookie_auth.get_auth_header(git_host)
(...skipping 675 matching lines...) Expand 10 before | Expand all | Expand 10 after
2710 SetProperty('run-post-upload-hook', 'RUN_POST_UPLOAD_HOOK', 2724 SetProperty('run-post-upload-hook', 'RUN_POST_UPLOAD_HOOK',
2711 unset_error_ok=True) 2725 unset_error_ok=True)
2712 2726
2713 if 'GERRIT_HOST' in keyvals: 2727 if 'GERRIT_HOST' in keyvals:
2714 RunGit(['config', 'gerrit.host', keyvals['GERRIT_HOST']]) 2728 RunGit(['config', 'gerrit.host', keyvals['GERRIT_HOST']])
2715 2729
2716 if 'GERRIT_SQUASH_UPLOADS' in keyvals: 2730 if 'GERRIT_SQUASH_UPLOADS' in keyvals:
2717 RunGit(['config', 'gerrit.squash-uploads', 2731 RunGit(['config', 'gerrit.squash-uploads',
2718 keyvals['GERRIT_SQUASH_UPLOADS']]) 2732 keyvals['GERRIT_SQUASH_UPLOADS']])
2719 2733
2734 if 'GERRIT_SKIP_ENSURE_AUTHENTICATED' in keyvals:
2735 RunGit(['config', 'gerrit.skip_ensure_authenticated',
2736 keyvals['GERRIT_SKIP_ENSURE_AUTHENTICATED']])
2737
2720 if 'PUSH_URL_CONFIG' in keyvals and 'ORIGIN_URL_CONFIG' in keyvals: 2738 if 'PUSH_URL_CONFIG' in keyvals and 'ORIGIN_URL_CONFIG' in keyvals:
2721 #should be of the form 2739 #should be of the form
2722 #PUSH_URL_CONFIG: url.ssh://gitrw.chromium.org.pushinsteadof 2740 #PUSH_URL_CONFIG: url.ssh://gitrw.chromium.org.pushinsteadof
2723 #ORIGIN_URL_CONFIG: http://src.chromium.org/git 2741 #ORIGIN_URL_CONFIG: http://src.chromium.org/git
2724 RunGit(['config', keyvals['PUSH_URL_CONFIG'], 2742 RunGit(['config', keyvals['PUSH_URL_CONFIG'],
2725 keyvals['ORIGIN_URL_CONFIG']]) 2743 keyvals['ORIGIN_URL_CONFIG']])
2726 2744
2727 2745
2728 def urlretrieve(source, destination): 2746 def urlretrieve(source, destination):
2729 """urllib is broken for SSL connections via a proxy therefore we 2747 """urllib is broken for SSL connections via a proxy therefore we
(...skipping 2077 matching lines...) Expand 10 before | Expand all | Expand 10 after
4807 if __name__ == '__main__': 4825 if __name__ == '__main__':
4808 # These affect sys.stdout so do it outside of main() to simplify mocks in 4826 # These affect sys.stdout so do it outside of main() to simplify mocks in
4809 # unit testing. 4827 # unit testing.
4810 fix_encoding.fix_encoding() 4828 fix_encoding.fix_encoding()
4811 setup_color.init() 4829 setup_color.init()
4812 try: 4830 try:
4813 sys.exit(main(sys.argv[1:])) 4831 sys.exit(main(sys.argv[1:]))
4814 except KeyboardInterrupt: 4832 except KeyboardInterrupt:
4815 sys.stderr.write('interrupted\n') 4833 sys.stderr.write('interrupted\n')
4816 sys.exit(1) 4834 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