| Index: git_cache.py
|
| diff --git a/git_cache.py b/git_cache.py
|
| index d6ed2a82d313980da46e1f0d5bd936fce043c0f5..bfdef80d797431d12a3c922a0236ff6931e4875c 100755
|
| --- a/git_cache.py
|
| +++ b/git_cache.py
|
| @@ -200,25 +200,23 @@ class Mirror(object):
|
|
|
| @classmethod
|
| def SetCachePath(cls, cachepath):
|
| - cls.cachepath_lock.acquire()
|
| - setattr(cls, 'cachepath', cachepath)
|
| - cls.cachepath_lock.release()
|
| + with cls.cachepath_lock:
|
| + setattr(cls, 'cachepath', cachepath)
|
|
|
| @classmethod
|
| def GetCachePath(cls):
|
| - cls.cachepath_lock.acquire()
|
| - if not hasattr(cls, 'cachepath'):
|
| - try:
|
| - cachepath = subprocess.check_output(
|
| - [cls.git_exe, 'config', '--global', 'cache.cachepath']).strip()
|
| - except subprocess.CalledProcessError:
|
| - cachepath = None
|
| - if not cachepath:
|
| - cls.cachepath_lock.release()
|
| - raise RuntimeError('No global cache.cachepath git configuration found.')
|
| - setattr(cls, 'cachepath', cachepath)
|
| - cls.cachepath_lock.release()
|
| - return getattr(cls, 'cachepath')
|
| + with cls.cachepath_lock:
|
| + if not hasattr(cls, 'cachepath'):
|
| + try:
|
| + cachepath = subprocess.check_output(
|
| + [cls.git_exe, 'config', '--global', 'cache.cachepath']).strip()
|
| + except subprocess.CalledProcessError:
|
| + cachepath = None
|
| + if not cachepath:
|
| + raise RuntimeError(
|
| + 'No global cache.cachepath git configuration found.')
|
| + setattr(cls, 'cachepath', cachepath)
|
| + return getattr(cls, 'cachepath')
|
|
|
| def RunGit(self, cmd, **kwargs):
|
| """Run git in a subprocess."""
|
|
|