Stop being destructive on generic DownloaderException (#3867)

This commit is contained in:
jack1142 2020-05-28 23:33:20 +02:00 committed by GitHub
parent cd14bccdc8
commit cb999bda7b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1196,13 +1196,12 @@ class RepoManager:
except errors.NoRemoteURL: except errors.NoRemoteURL:
log.warning("A remote URL does not exist for repo %s", folder.stem) log.warning("A remote URL does not exist for repo %s", folder.stem)
except errors.DownloaderException as err: except errors.DownloaderException as err:
log.error("Discarding repo %s due to error.", folder.stem, exc_info=err) log.error("Ignoring repo %s due to error.", folder.stem, exc_info=err)
shutil.rmtree( # Downloader should NOT remove the repo on generic errors like this one.
str(folder), # We were removing whole repo folder here in the past,
onerror=lambda func, path, exc: log.error( # but it's quite destructive for such a generic error.
"Failed to remove folder %s", path, exc_info=exc # We can't **expect** that this error will always mean git repository is broken.
), # GH-3867
)
if set_repos: if set_repos:
self._repos = ret self._repos = ret