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
diff --git a/git_cl.py b/git_cl.py
index e7b2fe4..1d3d24c 100755
--- a/git_cl.py
+++ b/git_cl.py
@@ -262,7 +262,7 @@
   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 @@
             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."""