Merge pull request #3129 from ThomasWaldmann/fallback-no-truncate-1.1

don't crash in first part of truncate_and_unlink, fixes #3117
This commit is contained in:
TW 2017-10-11 14:04:34 +02:00 committed by GitHub
commit 8ca6dc03d2
1 changed files with 8 additions and 2 deletions

View File

@ -2,6 +2,7 @@ import argparse
import contextlib import contextlib
import collections import collections
import enum import enum
import errno
import grp import grp
import hashlib import hashlib
import logging import logging
@ -2283,8 +2284,13 @@ def truncate_and_unlink(path):
recover. Refer to the "File system interaction" section recover. Refer to the "File system interaction" section
in repository.py for further explanations. in repository.py for further explanations.
""" """
with open(path, 'r+b') as fd: try:
fd.truncate() with open(path, 'r+b') as fd:
fd.truncate()
except OSError as err:
if err.errno != errno.ENOTSUP:
raise
# don't crash if the above ops are not supported.
os.unlink(path) os.unlink(path)