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

Side by Side Diff: git_cl.py

Issue 661413005: Make 'git cl patch' work when not on a named branch. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Created 6 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 | Annotate | Revision Log
« 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.""" 8 """A git-command for integrating reviews on Rietveld."""
9 9
10 from distutils.version import LooseVersion 10 from distutils.version import LooseVersion
(...skipping 507 matching lines...) Expand 10 before | Expand all | Expand 10 after
518 518
519 def SetWatchers(self, watchers): 519 def SetWatchers(self, watchers):
520 """Set the list of email addresses that should be cc'd based on the changed 520 """Set the list of email addresses that should be cc'd based on the changed
521 files in this CL. 521 files in this CL.
522 """ 522 """
523 self.watchers = watchers 523 self.watchers = watchers
524 524
525 def GetBranch(self): 525 def GetBranch(self):
526 """Returns the short branch name, e.g. 'master'.""" 526 """Returns the short branch name, e.g. 'master'."""
527 if not self.branch: 527 if not self.branch:
528 self.branchref = RunGit(['symbolic-ref', 'HEAD']).strip() 528 branchref = RunGit(['symbolic-ref', 'HEAD'],
529 stderr=subprocess2.VOID, error_ok=True).strip()
530 if not branchref:
531 return None
532 self.branchref = branchref
pgervais 2014/10/20 20:45:57 Please define self.branchref in __init__.
szager1 2014/10/20 22:29:52 It already is.
529 self.branch = ShortBranchName(self.branchref) 533 self.branch = ShortBranchName(self.branchref)
530 return self.branch 534 return self.branch
531 535
532 def GetBranchRef(self): 536 def GetBranchRef(self):
533 """Returns the full branch name, e.g. 'refs/heads/master'.""" 537 """Returns the full branch name, e.g. 'refs/heads/master'."""
534 self.GetBranch() # Poke the lazy loader. 538 self.GetBranch() # Poke the lazy loader.
535 return self.branchref 539 return self.branchref
536 540
537 @staticmethod 541 @staticmethod
538 def FetchUpstreamTuple(branch): 542 def FetchUpstreamTuple(branch):
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
689 issue = RunGit(['config', self._IssueSetting()], error_ok=True).strip() 693 issue = RunGit(['config', self._IssueSetting()], error_ok=True).strip()
690 self.issue = int(issue) or None if issue else None 694 self.issue = int(issue) or None if issue else None
691 self.lookedup_issue = True 695 self.lookedup_issue = True
692 return self.issue 696 return self.issue
693 697
694 def GetRietveldServer(self): 698 def GetRietveldServer(self):
695 if not self.rietveld_server: 699 if not self.rietveld_server:
696 # If we're on a branch then get the server potentially associated 700 # If we're on a branch then get the server potentially associated
697 # with that branch. 701 # with that branch.
698 if self.GetIssue(): 702 if self.GetIssue():
699 self.rietveld_server = gclient_utils.UpgradeToHttps(RunGit( 703 rietveld_server_config = self._RietveldServer()
700 ['config', self._RietveldServer()], error_ok=True).strip()) 704 if rietveld_server_config:
705 self.rietveld_server = gclient_utils.UpgradeToHttps(RunGit(
706 ['config', rietveld_server_config], error_ok=True).strip())
701 if not self.rietveld_server: 707 if not self.rietveld_server:
702 self.rietveld_server = settings.GetDefaultServerUrl() 708 self.rietveld_server = settings.GetDefaultServerUrl()
703 return self.rietveld_server 709 return self.rietveld_server
704 710
705 def GetIssueURL(self): 711 def GetIssueURL(self):
706 """Get the URL for a particular issue.""" 712 """Get the URL for a particular issue."""
707 if not self.GetIssue(): 713 if not self.GetIssue():
708 return None 714 return None
709 return '%s/%s' % (self.GetRietveldServer(), self.GetIssue()) 715 return '%s/%s' % (self.GetRietveldServer(), self.GetIssue())
710 716
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
935 def _IssueSetting(self): 941 def _IssueSetting(self):
936 """Return the git setting that stores this change's issue.""" 942 """Return the git setting that stores this change's issue."""
937 return 'branch.%s.rietveldissue' % self.GetBranch() 943 return 'branch.%s.rietveldissue' % self.GetBranch()
938 944
939 def _PatchsetSetting(self): 945 def _PatchsetSetting(self):
940 """Return the git setting that stores this change's most recent patchset.""" 946 """Return the git setting that stores this change's most recent patchset."""
941 return 'branch.%s.rietveldpatchset' % self.GetBranch() 947 return 'branch.%s.rietveldpatchset' % self.GetBranch()
942 948
943 def _RietveldServer(self): 949 def _RietveldServer(self):
944 """Returns the git setting that stores this change's rietveld server.""" 950 """Returns the git setting that stores this change's rietveld server."""
945 return 'branch.%s.rietveldserver' % self.GetBranch() 951 branch = self.GetBranch()
952 if branch:
953 return 'branch.%s.rietveldserver' % branch
954 return None
946 955
947 956
948 def GetCodereviewSettingsInteractively(): 957 def GetCodereviewSettingsInteractively():
949 """Prompt the user for settings.""" 958 """Prompt the user for settings."""
950 # TODO(ukai): ask code review system is rietveld or gerrit? 959 # TODO(ukai): ask code review system is rietveld or gerrit?
951 server = settings.GetDefaultServerUrl(error_ok=True) 960 server = settings.GetDefaultServerUrl(error_ok=True)
952 prompt = 'Rietveld server (host[:port])' 961 prompt = 'Rietveld server (host[:port])'
953 prompt += ' [%s]' % (server or DEFAULT_SERVER) 962 prompt += ' [%s]' % (server or DEFAULT_SERVER)
954 newserver = ask_for_data(prompt + ':') 963 newserver = ask_for_data(prompt + ':')
955 if not server and not newserver: 964 if not server and not newserver:
(...skipping 1918 matching lines...) Expand 10 before | Expand all | Expand 10 after
2874 ('AppEngine is misbehaving and returned HTTP %d, again. Keep faith ' 2883 ('AppEngine is misbehaving and returned HTTP %d, again. Keep faith '
2875 'and retry or visit go/isgaeup.\n%s') % (e.code, str(e))) 2884 'and retry or visit go/isgaeup.\n%s') % (e.code, str(e)))
2876 2885
2877 2886
2878 if __name__ == '__main__': 2887 if __name__ == '__main__':
2879 # These affect sys.stdout so do it outside of main() to simplify mocks in 2888 # These affect sys.stdout so do it outside of main() to simplify mocks in
2880 # unit testing. 2889 # unit testing.
2881 fix_encoding.fix_encoding() 2890 fix_encoding.fix_encoding()
2882 colorama.init() 2891 colorama.init()
2883 sys.exit(main(sys.argv[1:])) 2892 sys.exit(main(sys.argv[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