##// END OF EJS Templates
largefiles: rely on main scoping for writing dirstate in `mergeupdate`...
largefiles: rely on main scoping for writing dirstate in `mergeupdate` Yeah, cleaner code.

File last commit:

r49730:6000f5b2 default
r50944:088ee6ad 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