Skip to content

Commit 1b78e09

Browse files
committed
Add index cleanup routine to take care of cache fallouts
1 parent 5548f14 commit 1b78e09

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

mbed/mbed.py

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,15 @@ def init(path):
265265
if not os.path.exists(path):
266266
os.mkdir(path)
267267

268+
def cleanup():
269+
info("Cleaning up library build folder")
270+
for fl in os.listdir('.'):
271+
if not fl.startswith('.'):
272+
if os.path.isfile(fl):
273+
os.remove(fl)
274+
else:
275+
shutil.rmtree(fl)
276+
268277
def clone(url, path=None, depth=None, protocol=None):
269278
m = Bld.isurl(url)
270279
if not m:
@@ -277,15 +286,6 @@ def clone(url, path=None, depth=None, protocol=None):
277286
except Exception as e:
278287
error(e[1], e[0])
279288

280-
def cleanup():
281-
info("Cleaning up library build folder")
282-
for fl in os.listdir('.'):
283-
if not fl.startswith('.'):
284-
if os.path.isfile(fl):
285-
os.remove(fl)
286-
else:
287-
shutil.rmtree(fl)
288-
289289
def fetch_rev(url, rev):
290290
rev_file = os.path.join('.'+Bld.name, '.rev-' + rev + '.zip')
291291
try:
@@ -384,6 +384,9 @@ def isurl(url):
384384
def init(path=None):
385385
popen([hg_cmd, 'init'] + ([path] if path else []) + (['-v'] if very_verbose else ([] if verbose else ['-q'])))
386386

387+
def cleanup():
388+
return True
389+
387390
def clone(url, name=None, depth=None, protocol=None):
388391
popen([hg_cmd, 'clone', formaturl(url, protocol), name] + (['-v'] if very_verbose else ([] if verbose else ['-q'])))
389392

@@ -581,6 +584,11 @@ def isurl(url):
581584
def init(path=None):
582585
popen([git_cmd, 'init'] + ([path] if path else []) + ([] if very_verbose else ['-q']))
583586

587+
def cleanup():
588+
info("Cleaning up Git index")
589+
if os.path.exists(os.path.join('.git', 'logs')):
590+
rmtree_readonly(os.path.join('.git', 'logs'))
591+
584592
def clone(url, name=None, depth=None, protocol=None):
585593
popen([git_cmd, 'clone', formaturl(url, protocol), name] + (['--depth', depth] if depth else []) + (['-v'] if very_verbose else ([] if verbose else ['-q'])))
586594

@@ -1046,6 +1054,7 @@ def clone(self, url, path, rev=None, depth=None, protocol=None, **kwargs):
10461054

10471055
with cd(path):
10481056
scm.seturl(formaturl(url, protocol))
1057+
scm.cleanup()
10491058
info("Update cached copy from remote repository")
10501059
scm.update(rev, True)
10511060
main = False

0 commit comments

Comments
 (0)