| Index: git_cache.py
|
| diff --git a/git_cache.py b/git_cache.py
|
| index 92332808fe0758d46cd4a8170667280a16051926..686d0e14813acb6bacb76badf63f1bdea67283f3 100755
|
| --- a/git_cache.py
|
| +++ b/git_cache.py
|
| @@ -278,7 +278,7 @@ class Mirror(object):
|
|
|
| # Download zip file to a temporary directory.
|
| try:
|
| - tempdir = tempfile.mkdtemp()
|
| + tempdir = tempfile.mkdtemp(prefix='_cache_tmp', dir=self.GetCachePath())
|
| self.print('Downloading %s' % latest_checkout)
|
| code = gsutil.call('cp', latest_checkout, tempdir)
|
| if code:
|
| @@ -344,7 +344,7 @@ class Mirror(object):
|
| len(pack_files) > GC_AUTOPACKLIMIT)
|
| if should_bootstrap:
|
| tempdir = tempfile.mkdtemp(
|
| - suffix=self.basedir, dir=self.GetCachePath())
|
| + prefix='_cache_tmp', suffix=self.basedir, dir=self.GetCachePath())
|
| bootstrapped = not depth and bootstrap and self.bootstrap_repo(tempdir)
|
| if bootstrapped:
|
| # Bootstrap succeeded; delete previous cache, if any.
|
| @@ -408,8 +408,8 @@ class Mirror(object):
|
| except OSError:
|
| logging.warn('Unable to delete temporary pack file %s' % f)
|
|
|
| - @staticmethod
|
| - def BreakLocks(path):
|
| + @classmethod
|
| + def BreakLocks(cls, path):
|
| did_unlock = False
|
| lf = Lockfile(path)
|
| if lf.break_lock():
|
| @@ -420,6 +420,7 @@ class Mirror(object):
|
| if os.path.exists(lf):
|
| os.remove(lf)
|
| did_unlock = True
|
| + cls.DeleteTmpPackFiles(path)
|
| return did_unlock
|
|
|
| def unlock(self):
|
| @@ -432,7 +433,9 @@ class Mirror(object):
|
| repo_dirs = set([os.path.join(cachepath, path) for path in dirlist
|
| if os.path.isdir(os.path.join(cachepath, path))])
|
| for dirent in dirlist:
|
| - if (dirent.endswith('.lock') and
|
| + if dirent.startswith('_cache_tmp') or dirent.startswith('tmp'):
|
| + gclient_utils.rmtree(os.path.join(cachepath, dirent))
|
| + elif (dirent.endswith('.lock') and
|
| os.path.isfile(os.path.join(cachepath, dirent))):
|
| repo_dirs.add(os.path.join(cachepath, dirent[:-5]))
|
|
|
|
|