Commit 58888e11 authored by akuegel@chromium.org's avatar akuegel@chromium.org

Fix git branch parsing.

In git version 2.4 the git branch command prints "* (HEAD detached at"
or "* (HEAD detached from" instead of "* (detached from". Adjust the parsing to make our tests
still work with git 2.4.

BUG=487172

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295578 0039d316-1c4b-4281-b951-d872f2087c98
parent d6a68b3d
...@@ -293,7 +293,7 @@ def branch_config_map(option): ...@@ -293,7 +293,7 @@ def branch_config_map(option):
def branches(*args): def branches(*args):
NO_BRANCH = ('* (no branch', '* (detached from ') NO_BRANCH = ('* (no branch', '* (detached', '* (HEAD detached')
key = 'depot-tools.branch-limit' key = 'depot-tools.branch-limit'
limit = 20 limit = 20
......
...@@ -230,7 +230,6 @@ class GitReadOnlyFunctionsTest(git_test_utils.GitRepoReadOnlyTestBase, ...@@ -230,7 +230,6 @@ class GitReadOnlyFunctionsTest(git_test_utils.GitRepoReadOnlyTestBase,
self.repo.git('checkout', 'branch_D') self.repo.git('checkout', 'branch_D')
self.assertEqual(self.repo.run(self.gc.current_branch), 'branch_D') self.assertEqual(self.repo.run(self.gc.current_branch), 'branch_D')
@unittest.skip('broken by git 2.4')
def testBranches(self): def testBranches(self):
# This check fails with git 2.4 (see crbug.com/487172) # This check fails with git 2.4 (see crbug.com/487172)
self.assertEqual(self.repo.run(set, self.gc.branches()), self.assertEqual(self.repo.run(set, self.gc.branches()),
...@@ -448,7 +447,6 @@ class GitMutableStructuredTest(git_test_utils.GitRepoReadWriteTestBase, ...@@ -448,7 +447,6 @@ class GitMutableStructuredTest(git_test_utils.GitRepoReadWriteTestBase,
self.repo.git('branch', '--set-upstream-to', 'root_A', 'branch_G') self.repo.git('branch', '--set-upstream-to', 'root_A', 'branch_G')
self.repo.git('branch', '--set-upstream-to', 'root_X', 'root_A') self.repo.git('branch', '--set-upstream-to', 'root_X', 'root_A')
@unittest.skip('broken by git 2.4')
def testTooManyBranches(self): def testTooManyBranches(self):
for i in xrange(30): for i in xrange(30):
self.repo.git('branch', 'a'*i) self.repo.git('branch', 'a'*i)
...@@ -535,7 +533,6 @@ class GitMutableStructuredTest(git_test_utils.GitRepoReadWriteTestBase, ...@@ -535,7 +533,6 @@ class GitMutableStructuredTest(git_test_utils.GitRepoReadWriteTestBase,
self.assertIsNone( self.assertIsNone(
self.repo.run(self.gc.get_or_create_merge_base, 'branch_DOG')) self.repo.run(self.gc.get_or_create_merge_base, 'branch_DOG'))
@unittest.skip('broken by git 2.4')
def testGetBranchTree(self): def testGetBranchTree(self):
skipped, tree = self.repo.run(self.gc.get_branch_tree) skipped, tree = self.repo.run(self.gc.get_branch_tree)
# This check fails with git 2.4 (see crbug.com/487172) # This check fails with git 2.4 (see crbug.com/487172)
...@@ -731,6 +728,4 @@ class GitFreezeThaw(git_test_utils.GitRepoReadWriteTestBase): ...@@ -731,6 +728,4 @@ class GitFreezeThaw(git_test_utils.GitRepoReadWriteTestBase):
if __name__ == '__main__': if __name__ == '__main__':
sys.exit(coverage_utils.covered_main( sys.exit(coverage_utils.covered_main(
os.path.join(DEPOT_TOOLS_ROOT, 'git_common.py'), os.path.join(DEPOT_TOOLS_ROOT, 'git_common.py')))
required_percentage=88.0
))
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
"""Unit tests for git_rebase_update.py""" """Unit tests for git_rebase_update.py"""
import os import os
import unittest
import sys import sys
DEPOT_TOOLS_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) DEPOT_TOOLS_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
...@@ -69,7 +68,6 @@ class GitRebaseUpdateTest(git_test_utils.GitRepoReadWriteTestBase): ...@@ -69,7 +68,6 @@ class GitRebaseUpdateTest(git_test_utils.GitRepoReadWriteTestBase):
self.origin.nuke() self.origin.nuke()
super(GitRebaseUpdateTest, self).tearDown() super(GitRebaseUpdateTest, self).tearDown()
@unittest.skip('broken by git 2.4')
def testRebaseUpdate(self): def testRebaseUpdate(self):
self.repo.git('checkout', 'branch_K') self.repo.git('checkout', 'branch_K')
...@@ -342,4 +340,4 @@ if __name__ == '__main__': ...@@ -342,4 +340,4 @@ if __name__ == '__main__':
os.path.join(DEPOT_TOOLS_ROOT, 'git_new_branch.py'), os.path.join(DEPOT_TOOLS_ROOT, 'git_new_branch.py'),
os.path.join(DEPOT_TOOLS_ROOT, 'git_reparent_branch.py'), os.path.join(DEPOT_TOOLS_ROOT, 'git_reparent_branch.py'),
os.path.join(DEPOT_TOOLS_ROOT, 'git_rename_branch.py') os.path.join(DEPOT_TOOLS_ROOT, 'git_rename_branch.py')
), required_percentage=85.0)) )))
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment