Make 'git cl patch' work when not on a named branch.
R=maruel@chromium.org,pgervais@chromium.org
BUG=
Review URL: https://codereview.chromium.org/661413005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292537 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/git_cl.py b/git_cl.py
index 4c5f963..bd65e12 100755
--- a/git_cl.py
+++ b/git_cl.py
@@ -525,7 +525,11 @@
def GetBranch(self):
"""Returns the short branch name, e.g. 'master'."""
if not self.branch:
- self.branchref = RunGit(['symbolic-ref', 'HEAD']).strip()
+ branchref = RunGit(['symbolic-ref', 'HEAD'],
+ stderr=subprocess2.VOID, error_ok=True).strip()
+ if not branchref:
+ return None
+ self.branchref = branchref
self.branch = ShortBranchName(self.branchref)
return self.branch
@@ -696,8 +700,10 @@
# If we're on a branch then get the server potentially associated
# with that branch.
if self.GetIssue():
- self.rietveld_server = gclient_utils.UpgradeToHttps(RunGit(
- ['config', self._RietveldServer()], error_ok=True).strip())
+ rietveld_server_config = self._RietveldServer()
+ if rietveld_server_config:
+ self.rietveld_server = gclient_utils.UpgradeToHttps(RunGit(
+ ['config', rietveld_server_config], error_ok=True).strip())
if not self.rietveld_server:
self.rietveld_server = settings.GetDefaultServerUrl()
return self.rietveld_server
@@ -942,7 +948,10 @@
def _RietveldServer(self):
"""Returns the git setting that stores this change's rietveld server."""
- return 'branch.%s.rietveldserver' % self.GetBranch()
+ branch = self.GetBranch()
+ if branch:
+ return 'branch.%s.rietveldserver' % branch
+ return None
def GetCodereviewSettingsInteractively():