@@ -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