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])) |