Commit d33eab3e authored by smut@google.com's avatar smut@google.com

Revert of Consolidated 'git' refish parsing into a class...

Revert of Consolidated 'git' refish parsing into a class (https://codereview.chromium.org/328843005/)

Reason for revert:
https://code.google.com/p/chromium/issues/detail?id=391871

Original issue's description:
> Consolidated 'git' refish parsing into a class
>
> Created the 'GitRefish' class to centralize 'git' refish parsing and consistent
> usage by 'gclient' 'git' code.
>
> BUG=373504
> TEST=localtest
> R=agable@chromium.org, iannucci@chromium.org
>
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=281553

TBR=dnj
BUG=391871

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@281572 0039d316-1c4b-4281-b951-d872f2087c98
parent f2707a6d
...@@ -1112,7 +1112,7 @@ solutions = [ ...@@ -1112,7 +1112,7 @@ solutions = [
if dep.managed and dep.url: if dep.managed and dep.url:
scm = gclient_scm.CreateSCM( scm = gclient_scm.CreateSCM(
dep.url, self.root_dir, dep.name, self.outbuf) dep.url, self.root_dir, dep.name, self.outbuf)
actual_url = scm.GetActualRemoteURL() actual_url = scm.GetActualRemoteURL(self._options)
if actual_url and not scm.DoesRemoteURLMatch(self._options): if actual_url and not scm.DoesRemoteURLMatch(self._options):
raise gclient_utils.Error(''' raise gclient_utils.Error('''
Your .gclient file seems to be broken. The requested URL is different from what Your .gclient file seems to be broken. The requested URL is different from what
......
This diff is collapsed.
...@@ -1278,6 +1278,7 @@ class ManagedGitWrapperTestCaseMox(BaseTestCase): ...@@ -1278,6 +1278,7 @@ class ManagedGitWrapperTestCaseMox(BaseTestCase):
cwd=self.base_path).AndRaise(error) cwd=self.base_path).AndRaise(error)
gclient_scm.GitWrapper._Fetch(options) gclient_scm.GitWrapper._Fetch(options)
gclient_scm.scm.GIT.Capture(['svn', 'fetch'], cwd=self.base_path) gclient_scm.scm.GIT.Capture(['svn', 'fetch'], cwd=self.base_path)
gclient_scm.GitWrapper._Fetch(options)
self.mox.StubOutWithMock(gclient_scm.scm.GIT, 'IsGitSvn', True) self.mox.StubOutWithMock(gclient_scm.scm.GIT, 'IsGitSvn', True)
gclient_scm.scm.GIT.IsGitSvn(cwd=self.base_path).MultipleTimes( gclient_scm.scm.GIT.IsGitSvn(cwd=self.base_path).MultipleTimes(
...@@ -1288,8 +1289,6 @@ class ManagedGitWrapperTestCaseMox(BaseTestCase): ...@@ -1288,8 +1289,6 @@ class ManagedGitWrapperTestCaseMox(BaseTestCase):
).AndReturn(True) ).AndReturn(True)
gclient_scm.scm.GIT.IsValidRevision(cwd=self.base_path, rev=too_big gclient_scm.scm.GIT.IsValidRevision(cwd=self.base_path, rev=too_big
).MultipleTimes(2).AndReturn(False) ).MultipleTimes(2).AndReturn(False)
# pylint: disable=E1120
gclient_scm.GitWrapper._Fetch(options)
gclient_scm.os.path.isdir(self.base_path).AndReturn(False) gclient_scm.os.path.isdir(self.base_path).AndReturn(False)
gclient_scm.os.path.isdir(self.base_path).MultipleTimes().AndReturn(True) gclient_scm.os.path.isdir(self.base_path).MultipleTimes().AndReturn(True)
...@@ -1581,143 +1580,6 @@ class UnmanagedGitWrapperTestCase(BaseGitWrapperTestCase): ...@@ -1581,143 +1580,6 @@ class UnmanagedGitWrapperTestCase(BaseGitWrapperTestCase):
self.checkstdout('________ unmanaged solution; skipping .\n') self.checkstdout('________ unmanaged solution; skipping .\n')
class GitRefishTestCase(unittest.TestCase):
@staticmethod
def parse(revision, **kwargs):
kwargs.setdefault('remote', 'origin')
kwargs.setdefault('other_remotes', ('server', 'backup'))
return gclient_scm.GitRefish.Parse(revision, **kwargs)
def testParse(self):
LONG_HASH = '0c745b5ff533cf50a8731e168908644a9d9be4cf'
SHORT_HASH = '0c745b5'
TARGETS = (
(
'refs/heads/master',
gclient_scm.GitRefish(
source='refs/heads/master',
is_branch=True,
local_ref='master',
remote='origin',
remote_ref='master',
remote_refspec='origin/master',
upstream_branch='refs/remotes/origin/master',
),
),
(
'refs/special/magic',
gclient_scm.GitRefish(
source='refs/special/magic',
is_branch=True,
local_ref='refs/special/magic',
remote='origin',
remote_ref='refs/special/magic',
remote_refspec='origin/refs/special/magic',
upstream_branch='refs/special/magic',
)
),
(
'origin/foo/bar',
gclient_scm.GitRefish(
source='origin/foo/bar',
is_branch=True,
local_ref='refs/remotes/origin/foo/bar',
remote='origin',
remote_ref='foo/bar',
remote_refspec='origin/foo/bar',
upstream_branch='origin/foo/bar',
)
),
(
'server/foo/bar',
gclient_scm.GitRefish(
source='server/foo/bar',
is_branch=True,
local_ref='refs/remotes/server/foo/bar',
remote='server',
remote_ref='foo/bar',
remote_refspec='server/foo/bar',
upstream_branch='server/foo/bar',
),
),
(
'refs/remotes/foo/bar/baz',
gclient_scm.GitRefish(
source='refs/remotes/foo/bar/baz',
is_branch=True,
local_ref='refs/remotes/foo/bar/baz',
remote='foo',
remote_ref='bar/baz',
remote_refspec='foo/bar/baz',
upstream_branch='refs/remotes/foo/bar/baz',
)
),
(
'foo/bar',
gclient_scm.GitRefish(
source='foo/bar',
is_branch=True,
local_ref='foo/bar',
remote='origin',
remote_ref='foo/bar',
remote_refspec='origin/foo/bar',
upstream_branch='foo/bar',
),
),
(
LONG_HASH,
gclient_scm.GitRefish(
source=LONG_HASH,
is_branch=False,
local_ref=LONG_HASH,
remote='origin',
remote_ref=LONG_HASH,
remote_refspec=LONG_HASH,
upstream_branch=None,
),
),
# Short hash (consider it a hash)
(
SHORT_HASH,
gclient_scm.GitRefish(
source=SHORT_HASH,
is_branch=False,
local_ref=SHORT_HASH,
remote='origin',
remote_ref=SHORT_HASH,
remote_refspec=SHORT_HASH,
upstream_branch=None,
),
),
# Unqualified branches are currently parsed as hash/tag
(
'master',
gclient_scm.GitRefish(
source='master',
is_branch=False,
local_ref='master',
remote='origin',
remote_ref='master',
remote_refspec='master',
upstream_branch=None,
)
),
)
for value, refish in TARGETS:
parsed_refish = self.parse(value)
self.assertEqual(parsed_refish, refish)
if __name__ == '__main__': if __name__ == '__main__':
level = logging.DEBUG if '-v' in sys.argv else logging.FATAL level = logging.DEBUG if '-v' in sys.argv else logging.FATAL
logging.basicConfig( logging.basicConfig(
......
...@@ -48,7 +48,7 @@ class SCMMock(object): ...@@ -48,7 +48,7 @@ class SCMMock(object):
def DoesRemoteURLMatch(self, _): def DoesRemoteURLMatch(self, _):
return True return True
def GetActualRemoteURL(self): def GetActualRemoteURL(self, _):
return self.url return self.url
......
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