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

Side by Side Diff: git_cl.py

Issue 2425673005: git_cl: Allow server overriding. (Closed)
Patch Set: Created 4 years, 2 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 | no next file » | 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 632 matching lines...) Expand 10 before | Expand all | Expand 10 after
643 stdout=stdout, env=env) 643 stdout=stdout, env=env)
644 644
645 645
646 class BuildbucketResponseException(Exception): 646 class BuildbucketResponseException(Exception):
647 pass 647 pass
648 648
649 649
650 class Settings(object): 650 class Settings(object):
651 def __init__(self): 651 def __init__(self):
652 self.default_server = None 652 self.default_server = None
653 self.server_override = None
653 self.cc = None 654 self.cc = None
654 self.root = None 655 self.root = None
655 self.is_git_svn = None 656 self.is_git_svn = None
656 self.svn_branch = None 657 self.svn_branch = None
657 self.tree_status_url = None 658 self.tree_status_url = None
658 self.viewvc_url = None 659 self.viewvc_url = None
659 self.updated = False 660 self.updated = False
660 self.is_gerrit = None 661 self.is_gerrit = None
661 self.squash_gerrit_uploads = None 662 self.squash_gerrit_uploads = None
662 self.gerrit_skip_ensure_authenticated = None 663 self.gerrit_skip_ensure_authenticated = None
(...skipping 1068 matching lines...) Expand 10 before | Expand all | Expand 10 after
1731 assert settings, 'must be initialized in _ChangelistCodereviewBase' 1732 assert settings, 'must be initialized in _ChangelistCodereviewBase'
1732 if not rietveld_server: 1733 if not rietveld_server:
1733 settings.GetDefaultServerUrl() 1734 settings.GetDefaultServerUrl()
1734 1735
1735 self._rietveld_server = rietveld_server 1736 self._rietveld_server = rietveld_server
1736 self._auth_config = auth_config 1737 self._auth_config = auth_config
1737 self._props = None 1738 self._props = None
1738 self._rpc_server = None 1739 self._rpc_server = None
1739 1740
1740 def GetCodereviewServer(self): 1741 def GetCodereviewServer(self):
1742 global settings
1743 if settings and settings.server_override:
1744 return gclient_utils.UpgradeToHttps(settings.server_override)
1745
1741 if not self._rietveld_server: 1746 if not self._rietveld_server:
1742 # If we're on a branch then get the server potentially associated 1747 # If we're on a branch then get the server potentially associated
1743 # with that branch. 1748 # with that branch.
1744 if self.GetIssue(): 1749 if self.GetIssue():
1745 self._rietveld_server = gclient_utils.UpgradeToHttps( 1750 self._rietveld_server = gclient_utils.UpgradeToHttps(
1746 self._GitGetBranchConfigValue(self.CodereviewServerConfigKey())) 1751 self._GitGetBranchConfigValue(self.CodereviewServerConfigKey()))
1747 if not self._rietveld_server: 1752 if not self._rietveld_server:
1748 self._rietveld_server = settings.GetDefaultServerUrl() 1753 self._rietveld_server = settings.GetDefaultServerUrl()
1749 return self._rietveld_server 1754 return self._rietveld_server
1750 1755
(...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after
2204 ' Your current remote is: %s' % self.GetRemoteUrl()) 2209 ' Your current remote is: %s' % self.GetRemoteUrl())
2205 self._gerrit_host = '%s.googlesource.com' % self._gerrit_host 2210 self._gerrit_host = '%s.googlesource.com' % self._gerrit_host
2206 self._gerrit_server = 'https://%s' % self._gerrit_host 2211 self._gerrit_server = 'https://%s' % self._gerrit_host
2207 return self._gerrit_host 2212 return self._gerrit_host
2208 2213
2209 def _GetGitHost(self): 2214 def _GetGitHost(self):
2210 """Returns git host to be used when uploading change to Gerrit.""" 2215 """Returns git host to be used when uploading change to Gerrit."""
2211 return urlparse.urlparse(self.GetRemoteUrl()).netloc 2216 return urlparse.urlparse(self.GetRemoteUrl()).netloc
2212 2217
2213 def GetCodereviewServer(self): 2218 def GetCodereviewServer(self):
2219 global settings
2220 if settings and settings.server_override:
2221 return gclient_utils.UpgradeToHttps(settings.server_override)
2222
2214 if not self._gerrit_server: 2223 if not self._gerrit_server:
2215 # If we're on a branch then get the server potentially associated 2224 # If we're on a branch then get the server potentially associated
2216 # with that branch. 2225 # with that branch.
2217 if self.GetIssue(): 2226 if self.GetIssue():
2218 self._gerrit_server = self._GitGetBranchConfigValue( 2227 self._gerrit_server = self._GitGetBranchConfigValue(
2219 self.CodereviewServerConfigKey()) 2228 self.CodereviewServerConfigKey())
2220 if self._gerrit_server: 2229 if self._gerrit_server:
2221 self._gerrit_host = urlparse.urlparse(self._gerrit_server).netloc 2230 self._gerrit_host = urlparse.urlparse(self._gerrit_server).netloc
2222 if not self._gerrit_server: 2231 if not self._gerrit_server:
2223 # We assume repo to be hosted on Gerrit, and hence Gerrit server 2232 # We assume repo to be hosted on Gerrit, and hence Gerrit server
(...skipping 588 matching lines...) Expand 10 before | Expand all | Expand 10 after
2812 """Appends --gerrit and --rietveld options to force specific codereview.""" 2821 """Appends --gerrit and --rietveld options to force specific codereview."""
2813 parser.codereview_group = optparse.OptionGroup( 2822 parser.codereview_group = optparse.OptionGroup(
2814 parser, 'EXPERIMENTAL! Codereview override options') 2823 parser, 'EXPERIMENTAL! Codereview override options')
2815 parser.add_option_group(parser.codereview_group) 2824 parser.add_option_group(parser.codereview_group)
2816 parser.codereview_group.add_option( 2825 parser.codereview_group.add_option(
2817 '--gerrit', action='store_true', 2826 '--gerrit', action='store_true',
2818 help='Force the use of Gerrit for codereview') 2827 help='Force the use of Gerrit for codereview')
2819 parser.codereview_group.add_option( 2828 parser.codereview_group.add_option(
2820 '--rietveld', action='store_true', 2829 '--rietveld', action='store_true',
2821 help='Force the use of Rietveld for codereview') 2830 help='Force the use of Rietveld for codereview')
2831 parser.codereview_group.add_option(
2832 '--force-codereview-server', action='store', metavar='URL',
2833 help='Use this codereview server instead of the default.')
2822 2834
2823 2835
2824 def _process_codereview_select_options(parser, options): 2836 def _process_codereview_select_options(parser, options):
2825 if options.gerrit and options.rietveld: 2837 if options.gerrit and options.rietveld:
2826 parser.error('Options --gerrit and --rietveld are mutually exclusive') 2838 parser.error('Options --gerrit and --rietveld are mutually exclusive')
2827 options.forced_codereview = None 2839 options.forced_codereview = None
2828 if options.gerrit: 2840 if options.gerrit:
2829 options.forced_codereview = 'gerrit' 2841 options.forced_codereview = 'gerrit'
2830 elif options.rietveld: 2842 elif options.rietveld:
2831 options.forced_codereview = 'rietveld' 2843 options.forced_codereview = 'rietveld'
2832 2844
2845 if options.force_codereview_server:
2846 global settings
2847 if settings:
2848 settings.server_override = options.force_codereview_server
2849
2833 2850
2834 def _get_bug_line_values(default_project, bugs): 2851 def _get_bug_line_values(default_project, bugs):
2835 """Given default_project and comma separated list of bugs, yields bug line 2852 """Given default_project and comma separated list of bugs, yields bug line
2836 values. 2853 values.
2837 2854
2838 Each bug can be either: 2855 Each bug can be either:
2839 * a number, which is combined with default_project 2856 * a number, which is combined with default_project
2840 * string, which is left as is. 2857 * string, which is left as is.
2841 2858
2842 This function may produce more than one line, because bugdroid expects one 2859 This function may produce more than one line, because bugdroid expects one
(...skipping 668 matching lines...) Expand 10 before | Expand all | Expand 10 after
3511 help='Do not retrieve review status') 3528 help='Do not retrieve review status')
3512 parser.add_option( 3529 parser.add_option(
3513 '-j', '--maxjobs', action='store', type=int, 3530 '-j', '--maxjobs', action='store', type=int,
3514 help='The maximum number of jobs to use when retrieving review status') 3531 help='The maximum number of jobs to use when retrieving review status')
3515 3532
3516 auth.add_auth_options(parser) 3533 auth.add_auth_options(parser)
3517 _add_codereview_issue_select_options( 3534 _add_codereview_issue_select_options(
3518 parser, 'Must be in conjunction with --field.') 3535 parser, 'Must be in conjunction with --field.')
3519 options, args = parser.parse_args(args) 3536 options, args = parser.parse_args(args)
3520 _process_codereview_issue_select_options(parser, options) 3537 _process_codereview_issue_select_options(parser, options)
3538 _process_codereview_select_options(parser, options)
3521 if args: 3539 if args:
3522 parser.error('Unsupported args: %s' % args) 3540 parser.error('Unsupported args: %s' % args)
3523 auth_config = auth.extract_auth_config_from_options(options) 3541 auth_config = auth.extract_auth_config_from_options(options)
3524 3542
3525 if options.issue is not None and not options.field: 3543 if options.issue is not None and not options.field:
3526 parser.error('--field must be specified with --issue') 3544 parser.error('--field must be specified with --issue')
3527 3545
3528 if options.field: 3546 if options.field:
3529 cl = Changelist(auth_config=auth_config, issue=options.issue, 3547 cl = Changelist(auth_config=auth_config, issue=options.issue,
3530 codereview=options.forced_codereview) 3548 codereview=options.forced_codereview)
(...skipping 1842 matching lines...) Expand 10 before | Expand all | Expand 10 after
5373 if __name__ == '__main__': 5391 if __name__ == '__main__':
5374 # These affect sys.stdout so do it outside of main() to simplify mocks in 5392 # These affect sys.stdout so do it outside of main() to simplify mocks in
5375 # unit testing. 5393 # unit testing.
5376 fix_encoding.fix_encoding() 5394 fix_encoding.fix_encoding()
5377 setup_color.init() 5395 setup_color.init()
5378 try: 5396 try:
5379 sys.exit(main(sys.argv[1:])) 5397 sys.exit(main(sys.argv[1:]))
5380 except KeyboardInterrupt: 5398 except KeyboardInterrupt:
5381 sys.stderr.write('interrupted\n') 5399 sys.stderr.write('interrupted\n')
5382 sys.exit(1) 5400 sys.exit(1)
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698