Mercurial > public > mercurial-scm > hg
comparison mercurial/posix.py @ 31506:53575feed7c0
posix: tiptoe around tempfile module more delicately
Some of the values inside the tempfile calls here are str on Python 3,
so we've got to pass str in. Use fsdecode to work around the issue.
author | Augie Fackler <augie@google.com> |
---|---|
date | Sun, 19 Mar 2017 01:06:47 -0400 |
parents | d96d010be4fa |
children | c6cbe5720353 |
comparison
equal
deleted
inserted
replaced
31505:d96d010be4fa | 31506:53575feed7c0 |
---|---|
228 if os.path.isdir(cachedir): | 228 if os.path.isdir(cachedir): |
229 checkdir = cachedir | 229 checkdir = cachedir |
230 else: | 230 else: |
231 checkdir = path | 231 checkdir = path |
232 cachedir = None | 232 cachedir = None |
233 name = tempfile.mktemp(dir=checkdir, prefix='checklink-') | 233 fscheckdir = pycompat.fsdecode(checkdir) |
234 name = tempfile.mktemp(dir=fscheckdir, | |
235 prefix=r'checklink-') | |
236 name = pycompat.fsencode(name) | |
234 try: | 237 try: |
235 fd = None | 238 fd = None |
236 if cachedir is None: | 239 if cachedir is None: |
237 fd = tempfile.NamedTemporaryFile(dir=checkdir, | 240 fd = tempfile.NamedTemporaryFile(dir=fscheckdir, |
238 prefix='hg-checklink-') | 241 prefix=r'hg-checklink-') |
239 target = os.path.basename(fd.name) | 242 target = pycompat.fsencode(os.path.basename(fd.name)) |
240 else: | 243 else: |
241 # create a fixed file to link to; doesn't matter if it | 244 # create a fixed file to link to; doesn't matter if it |
242 # already exists. | 245 # already exists. |
243 target = 'checklink-target' | 246 target = 'checklink-target' |
244 open(os.path.join(cachedir, target), 'w').close() | 247 open(os.path.join(cachedir, target), 'w').close() |