Switch usage of self._root_dir to self.root_dir()

Another step in my quest to make the refactor reviewable.

Review URL: http://codereview.chromium.org/2786014

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@49601 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/gclient.py b/gclient.py
index 058865d..9ea7ce0 100644
--- a/gclient.py
+++ b/gclient.py
@@ -217,7 +217,6 @@
       exec(content, self._config_dict)
     except SyntaxError, e:
       try:
-        __pychecker__ = 'no-objattrs'
         # Try to construct a human readable error message
         error_message = [
             'There is a syntax error in your configuration file.',
@@ -231,13 +230,13 @@
         raise gclient_utils.Error('\n'.join(error_message))
 
   def SaveConfig(self):
-    gclient_utils.FileWrite(os.path.join(self._root_dir,
+    gclient_utils.FileWrite(os.path.join(self.root_dir(),
                                          self._options.config_filename),
                             self.config_content)
 
   def _LoadConfig(self):
     client_source = gclient_utils.FileRead(
-        os.path.join(self._root_dir, self._options.config_filename))
+        os.path.join(self.root_dir(), self._options.config_filename))
     self.SetConfig(client_source)
 
   def GetVar(self, key, default=None):
@@ -285,7 +284,7 @@
     if result.startswith('{\''):
       result = '{ \'' + result[2:]
     text = "entries = \\\n" + result + '\n'
-    file_path = os.path.join(self._root_dir, self._options.entries_filename)
+    file_path = os.path.join(self.root_dir(), self._options.entries_filename)
     gclient_utils.FileWrite(file_path, text)
 
   def _ReadEntries(self):
@@ -299,7 +298,7 @@
       entries file hasn't been created yet.
     """
     scope = {}
-    filename = os.path.join(self._root_dir, self._options.entries_filename)
+    filename = os.path.join(self.root_dir(), self._options.entries_filename)
     if not os.path.exists(filename):
       return []
     exec(gclient_utils.FileRead(filename), scope)
@@ -435,7 +434,7 @@
                 raise gclient_utils.Error(
                     "relative DEPS entry \"%s\" must begin with a slash" % d)
               # Create a scm just to query the full url.
-              scm = gclient_scm.CreateSCM(solution["url"], self._root_dir,
+              scm = gclient_scm.CreateSCM(solution["url"], self.root_dir(),
                                            None)
               url = scm.FullUrlForRelativeUrl(url)
         if d in deps and deps[d] != url:
@@ -467,7 +466,7 @@
     # Use a discrete exit status code of 2 to indicate that a hook action
     # failed.  Users of this script may wish to treat hook action failures
     # differently from VC failures.
-    gclient_utils.SubprocessCall(command, self._root_dir, fail_status=2)
+    gclient_utils.SubprocessCall(command, self.root_dir(), fail_status=2)
 
   def _RunHooks(self, command, file_list, is_using_git):
     """Evaluates all hooks, running actions as needed.
@@ -574,13 +573,13 @@
       entries[name] = url
       if run_scm and url:
         self._options.revision = revision_overrides.get(name)
-        scm = gclient_scm.CreateSCM(url, self._root_dir, name)
+        scm = gclient_scm.CreateSCM(url, self.root_dir(), name)
         scm.RunCommand(command, self._options, args, file_list)
         file_list = [os.path.join(name, f.strip()) for f in file_list]
         self._options.revision = None
       try:
         deps_content = gclient_utils.FileRead(
-            os.path.join(self._root_dir, name, deps_file))
+            os.path.join(self.root_dir(), name, deps_file))
       except IOError, e:
         if e.errno != errno.ENOENT:
           raise
@@ -604,14 +603,14 @@
         entries[d] = url
         if run_scm:
           self._options.revision = revision_overrides.get(d)
-          scm = gclient_scm.CreateSCM(url, self._root_dir, d)
+          scm = gclient_scm.CreateSCM(url, self.root_dir(), d)
           scm.RunCommand(command, self._options, args, file_list)
           self._options.revision = None
       elif isinstance(deps[d], self.FileImpl):
         file_dep = deps[d]
         self._options.revision = file_dep.GetRevision()
         if run_scm:
-          scm = gclient_scm.CreateSCM(file_dep.GetPath(), self._root_dir, d)
+          scm = gclient_scm.CreateSCM(file_dep.GetPath(), self.root_dir(), d)
           scm.RunCommand("updatesingle", self._options,
                          args + [file_dep.GetFilename()], file_list)
 
@@ -621,7 +620,7 @@
     # Second pass for inherited deps (via the From keyword)
     for d in deps_to_process:
       if isinstance(deps[d], self.FromImpl):
-        filename = os.path.join(self._root_dir,
+        filename = os.path.join(self.root_dir(),
                                 deps[d].module_name,
                                 self.DEPS_FILE)
         content =  gclient_utils.FileRead(filename)
@@ -631,11 +630,11 @@
         # a File() or having to resolve a relative URL.  To resolve relative
         # URLs, we need to pass in the orignal sub deps URL.
         sub_deps_base_url = deps[deps[d].module_name]
-        url = deps[d].GetUrl(d, sub_deps_base_url, self._root_dir, sub_deps)
+        url = deps[d].GetUrl(d, sub_deps_base_url, self.root_dir(), sub_deps)
         entries[d] = url
         if run_scm:
           self._options.revision = revision_overrides.get(d)
-          scm = gclient_scm.CreateSCM(url, self._root_dir, d)
+          scm = gclient_scm.CreateSCM(url, self.root_dir(), d)
           scm.RunCommand(command, self._options, args, file_list)
           self._options.revision = None
 
@@ -646,7 +645,7 @@
       if not os.path.isabs(file_list[i]):
         continue
 
-      prefix = os.path.commonprefix([self._root_dir.lower(),
+      prefix = os.path.commonprefix([self.root_dir().lower(),
                                      file_list[i].lower()])
       file_list[i] = file_list[i][len(prefix):]
 
@@ -654,7 +653,7 @@
       while file_list[i].startswith('\\') or file_list[i].startswith('/'):
         file_list[i] = file_list[i][1:]
 
-    is_using_git = gclient_utils.IsUsingGit(self._root_dir, entries.keys())
+    is_using_git = gclient_utils.IsUsingGit(self.root_dir(), entries.keys())
     self._RunHooks(command, file_list, is_using_git)
 
     if command == 'update':
@@ -665,7 +664,7 @@
       for entry in prev_entries:
         # Fix path separator on Windows.
         entry_fixed = entry.replace('/', os.path.sep)
-        e_dir = os.path.join(self._root_dir, entry_fixed)
+        e_dir = os.path.join(self.root_dir(), entry_fixed)
         # Use entry and not entry_fixed there.
         if entry not in entries and os.path.exists(e_dir):
           modified_files = False
@@ -674,7 +673,7 @@
             modified_files = gclient_scm.scm.SVN.CaptureStatus(e_dir)
           else:
             file_list = []
-            scm = gclient_scm.CreateSCM(prev_entries[entry], self._root_dir,
+            scm = gclient_scm.CreateSCM(prev_entries[entry], self.root_dir(),
                                         entry_fixed)
             scm.status(self._options, [], file_list)
             modified_files = file_list != []
@@ -687,7 +686,7 @@
           else:
             # Delete the entry
             print("\n________ deleting \'%s\' " +
-                  "in \'%s\'") % (entry_fixed, self._root_dir)
+                  "in \'%s\'") % (entry_fixed, self.root_dir())
             gclient_utils.RemoveDirectory(e_dir)
       # record the current list of entries for next time
       self._SaveEntries(entries)
@@ -711,7 +710,7 @@
     # Inner helper to generate base url and rev tuple
     def GetURLAndRev(name, original_url):
       url, _ = gclient_utils.SplitUrlRevision(original_url)
-      scm = gclient_scm.CreateSCM(original_url, self._root_dir, name)
+      scm = gclient_scm.CreateSCM(original_url, self.root_dir(), name)
       return (url, scm.revinfo(self._options, [], None))
 
     # text of the snapshot gclient file
@@ -735,7 +734,7 @@
                                   'filename.')
       try:
         deps_content = gclient_utils.FileRead(
-            os.path.join(self._root_dir, name, deps_file))
+            os.path.join(self.root_dir(), name, deps_file))
       except IOError, e:
         if e.errno != errno.ENOENT:
           raise
@@ -762,7 +761,7 @@
           raise gclient_utils.Error("From %s missing revisioned url" %
                                         deps[d].module_name)
         content =  gclient_utils.FileRead(os.path.join(
-                                            self._root_dir,
+                                            self.root_dir(),
                                             deps[d].module_name,
                                             self.DEPS_FILE))
         sub_deps = self._ParseSolutionDeps(deps[d].module_name, content, {},
@@ -789,10 +788,13 @@
     # Print the snapshot configuration file
     if self._options.snapshot:
       config = self.DEFAULT_SNAPSHOT_FILE_TEXT % {'solution_list': new_gclient}
-      snapclient = GClient(self._root_dir, self._options)
+      snapclient = GClient(self.root_dir(), self._options)
       snapclient.SetConfig(config)
       print(snapclient.config_content)
 
+  def root_dir(self):
+    return self._root_dir
+
 
 #### gclient commands.