git_cl: Do not cache the relative root in Settings.

Relative root no longer makes sense after an os.chdir().
This is effectively a partial revert of r250248.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@250478 0039d316-1c4b-4281-b951-d872f2087c98
experimental/szager/collated-output
thestig@chromium.org 13 years ago
parent 8b0553c1f9
commit 7a54e8183a

@ -262,7 +262,7 @@ class Settings(object):
def __init__(self):
self.default_server = None
self.cc = None
self.relative_root = None
self.root = None
self.is_git_svn = None
self.svn_branch = None
self.tree_status_url = None
@ -303,13 +303,14 @@ class Settings(object):
self._GetRietveldConfig('server', error_message=error_message))
return self.default_server
def GetRelativeRoot(self):
if self.relative_root is None:
self.relative_root = RunGit(['rev-parse', '--show-cdup']).strip()
return self.relative_root
@staticmethod
def GetRelativeRoot():
return RunGit(['rev-parse', '--show-cdup']).strip()
def GetRoot(self):
return os.path.abspath(self.GetRelativeRoot())
if self.root is None:
self.root = os.path.abspath(self.GetRelativeRoot())
return self.root
def GetIsGitSvn(self):
"""Return true if this repo looks like it's using git-svn."""

@ -204,6 +204,7 @@ class TestGitCl(TestCase):
((['git',
'config', '--local', '--get-regexp', '^svn-remote\\.'],),
(('', None), 0)),
((['git', 'rev-parse', '--show-cdup'],), ''),
((['git', 'svn', 'info'],), ''),
((['git',
'config', 'branch.master.rietveldissue', '1'],), ''),
@ -318,8 +319,8 @@ class TestGitCl(TestCase):
]
@classmethod
def _dcommit_calls_3(cls, is_first_call):
calls = [
def _dcommit_calls_3(cls):
return [
((['git',
'diff', '--no-ext-diff', '--stat', '--find-copies-harder',
'-l100000', '-C50', 'fake_ancestor_sha',
@ -333,12 +334,7 @@ class TestGitCl(TestCase):
((['git', 'branch', '-D', 'git-cl-commit'],), ''),
((['git', 'show-ref', '--quiet', '--verify',
'refs/heads/git-cl-cherry-pick'],), ''),
]
if is_first_call:
calls += [
((['git', 'rev-parse', '--show-cdup'],), '\n'),
]
calls += [
((['git', 'rev-parse', '--show-cdup'],), '\n'),
((['git', 'checkout', '-q', '-b', 'git-cl-commit'],), ''),
((['git', 'reset', '--soft', 'fake_ancestor_sha'],), ''),
((['git', 'commit', '-m',
@ -350,8 +346,7 @@ class TestGitCl(TestCase):
(('', None), 0)),
((['git', 'checkout', '-q', 'working'],), ''),
((['git', 'branch', '-D', 'git-cl-commit'],), ''),
]
return calls
]
@staticmethod
def _cmd_line(description, args, similarity, find_copies, private):
@ -514,14 +509,14 @@ class TestGitCl(TestCase):
self._dcommit_calls_1() +
self._git_sanity_checks('fake_ancestor_sha', 'working') +
self._dcommit_calls_normal() +
self._dcommit_calls_3(False))
self._dcommit_calls_3())
git_cl.main(['dcommit'])
def test_dcommit_bypass_hooks(self):
self.calls = (
self._dcommit_calls_1() +
self._dcommit_calls_bypassed() +
self._dcommit_calls_3(True))
self._dcommit_calls_3())
git_cl.main(['dcommit', '--bypass-hooks'])

Loading…
Cancel
Save