##// END OF EJS Templates
py3: remove retry on EINTR errno...
py3: remove retry on EINTR errno Since the implementation of PEP 475 (Python 3.5), Python retries system calls failing with EINTR. Therefore we don’t need the logic that retries it in Python code.

File last commit:

r49730:6000f5b2 default
r50197:ee4537e3 default
Show More
common.py
51 lines | 1.2 KiB | text/x-python | PythonLexer
Pulkit Goyal
infinitepush: move the extension to core from fb-hgext...
r37204 # Copyright 2017 Facebook, Inc.
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
import os
from mercurial.node import hex
from mercurial import (
error,
extensions,
Yuya Nishihara
py3: wrap tempfile.mkstemp() to use bytes path...
r38182 pycompat,
Pulkit Goyal
infinitepush: move the extension to core from fb-hgext...
r37204 )
Augie Fackler
formatting: blacken the codebase...
r43346
Pulkit Goyal
infinitepush: move the extension to core from fb-hgext...
r37204 def isremotebooksenabled(ui):
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 return b'remotenames' in extensions._extensions and ui.configbool(
b'remotenames', b'bookmarks'
Augie Fackler
formatting: blacken the codebase...
r43346 )
Pulkit Goyal
infinitepush: move the extension to core from fb-hgext...
r37204
def downloadbundle(repo, unknownbinhead):
index = repo.bundlestore.index
store = repo.bundlestore.store
bundleid = index.getbundle(hex(unknownbinhead))
if bundleid is None:
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 raise error.Abort(b'%s head is not known' % hex(unknownbinhead))
Pulkit Goyal
infinitepush: move the extension to core from fb-hgext...
r37204 bundleraw = store.read(bundleid)
return _makebundlefromraw(bundleraw)
Augie Fackler
formatting: blacken the codebase...
r43346
Pulkit Goyal
infinitepush: move the extension to core from fb-hgext...
r37204 def _makebundlefromraw(data):
fp = None
Yuya Nishihara
py3: wrap tempfile.mkstemp() to use bytes path...
r38182 fd, bundlefile = pycompat.mkstemp()
Pulkit Goyal
infinitepush: move the extension to core from fb-hgext...
r37204 try: # guards bundlefile
try: # guards fp
Augie Fackler
cleanup: remove pointless r-prefixes on single-quoted strings...
r43906 fp = os.fdopen(fd, 'wb')
Pulkit Goyal
infinitepush: move the extension to core from fb-hgext...
r37204 fp.write(data)
finally:
fp.close()
except Exception:
try:
os.unlink(bundlefile)
except Exception:
# we would rather see the original exception
pass
raise
return bundlefile