Mercurial > hg
view hgext/infinitepush/common.py @ 37189:b377b7dfe682
infinitepush: drop the logic related to inhibit extension
The inhibit extension lives in hg-experimental and is not a core extension.
Differential Revision: https://phab.mercurial-scm.org/D2098
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Sat, 03 Feb 2018 17:59:49 +0530 |
parents | 03ff17a4bf53 |
children | 5a9692d0d6fc |
line wrap: on
line source
# 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. from __future__ import absolute_import import json import os import struct import tempfile from mercurial.node import hex from mercurial import ( error, extensions, ) def isremotebooksenabled(ui): return ('remotenames' in extensions._extensions and ui.configbool('remotenames', 'bookmarks')) def encodebookmarks(bookmarks): encoded = {} for bookmark, node in bookmarks.iteritems(): encoded[bookmark] = node dumped = json.dumps(encoded) result = struct.pack('>i', len(dumped)) + dumped return result def downloadbundle(repo, unknownbinhead): index = repo.bundlestore.index store = repo.bundlestore.store bundleid = index.getbundle(hex(unknownbinhead)) if bundleid is None: raise error.Abort('%s head is not known' % hex(unknownbinhead)) bundleraw = store.read(bundleid) return _makebundlefromraw(bundleraw) def _makebundlefromraw(data): fp = None fd, bundlefile = tempfile.mkstemp() try: # guards bundlefile try: # guards fp fp = os.fdopen(fd, 'wb') 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