Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(150)

Unified Diff: git_cache.py

Issue 335253002: Clean up temp dirs when breaking locks. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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]))
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698