Added message when upstream branch is gone.

BUG=496892

Review URL: https://codereview.chromium.org/1156223008

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295634 0039d316-1c4b-4281-b951-d872f2087c98
changes/01/332501/1
pgervais@chromium.org 10 years ago
parent 6c14310ef8
commit 8ba38ff4dc

@ -139,6 +139,13 @@ def IsGitVersionAtLeast(min_version):
LooseVersion(version[len(prefix):]) >= LooseVersion(min_version))
def BranchExists(branch):
"""Return True if specified branch exists."""
code, _ = RunGitWithCode(['rev-parse', '--verify', branch],
suppress_stderr=True)
return not code
def ask_for_data(prompt):
try:
return raw_input(prompt)
@ -719,8 +726,12 @@ or verify this branch is set up to track another (via the --track argument to
return remote, upstream_branch
def GetCommonAncestorWithUpstream(self):
upstream_branch = self.GetUpstreamBranch()
if not BranchExists(upstream_branch):
DieWithError('The upstream for the current branch (%s) does not exist '
'anymore.\nPlease fix it and try again.' % self.GetBranch())
return git_common.get_or_create_merge_base(self.GetBranch(),
self.GetUpstreamBranch())
upstream_branch)
def GetUpstreamBranch(self):
if self.upstream_branch is None:

@ -86,6 +86,7 @@ class TestGitCl(TestCase):
self.mock(git_common, 'get_or_create_merge_base',
lambda *a: (
self._mocked_call(['get_or_create_merge_base']+list(a))))
self.mock(git_cl, 'BranchExists', lambda _: True)
self.mock(git_cl, 'FindCodereviewSettingsFile', lambda: '')
self.mock(git_cl, 'ask_for_data', self._mocked_call)
self.mock(git_cl.breakpad, 'post', self._mocked_call)

Loading…
Cancel
Save