Browse Source

Allow callers to reset the git config cache

If commands modify the git config too rapidly we might not notice
the .git/config file has been modified, as they could run in the
same filesystem timestamp window and thus not cause a change on
the config's mtime.  This can cause repo to miss re-reading the
config file after running a command.

Allowing the cache to be flushed forces us to re-read the config.

Signed-off-by: Shawn O. Pearce <sop@google.com>
Shawn O. Pearce 16 năm trước cách đây
mục cha
commit
98ea26b8d8
1 tập tin đã thay đổi với 8 bổ sung0 xóa
  1. 8 0
      git_config.py

+ 8 - 0
git_config.py

@@ -71,6 +71,14 @@ class GitConfig(object):
     else:
       self._pickle = pickleFile
 
+  def ClearCache(self):
+    if os.path.exists(self._pickle):
+      os.remove(self._pickle)
+    self._cache_dict = None
+    self._section_dict = None
+    self._remotes = {}
+    self._branches = {}
+
   def Has(self, name, include_defaults = True):
     """Return true if this configuration file has the key.
     """