Workaround shutil.rmtree limitation on Windows

By default, shutil.rmtree raises an exception when deleting readonly
files on Windows.

Replace all shutil.rmtree with platform_utils.rmtree, which adds an
error handler to make files read-write when they can't be deleted.

Change-Id: I9cfea9a7b3703fb16a82cf69331540c2c179ed53
This commit is contained in:
Renaud Paquay
2016-11-03 10:37:53 -07:00
committed by David Pursehouse
parent d5cec5e752
commit a65adf74f9
5 changed files with 27 additions and 12 deletions

View File

@ -17,7 +17,6 @@ from __future__ import print_function
import os
import platform
import re
import shutil
import sys
from pyversion import is_python3
@ -35,6 +34,7 @@ from error import ManifestParseError
from project import SyncBuffer
from git_config import GitConfig
from git_command import git_require, MIN_GIT_VERSION
import platform_utils
class Init(InteractiveCommand, MirrorSafeCommand):
common = True
@ -252,7 +252,7 @@ to update the working directory files.
# Better delete the manifest git dir if we created it; otherwise next
# time (when user fixes problems) we won't go through the "is_new" logic.
if is_new:
shutil.rmtree(m.gitdir)
platform_utils.rmtree(m.gitdir)
sys.exit(1)
if opt.manifest_branch: