sapling/infinitepush/common.py
Stanislau Hlebik 2ac4b441e0 infinitepush: refactoring
Summary: __init__.py became huge and I suggest to split it

Test Plan: Run `test-infinitepush-*`

Reviewers: rmcelroy, mitrandir, durham

Reviewed By: durham

Subscribers: mjpieters, #sourcecontrol

Differential Revision: https://phabricator.intern.facebook.com/D4383661

Tasks: 12479677

Signature: t1:4383661:1483659134:eaf3d7e217633895a65ad568831d9c21ea0f18d8
2017-01-06 04:15:16 -08:00

22 lines
614 B
Python

# 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 json
import struct
from mercurial import extensions
def isremotebooksenabled(ui):
return ('remotenames' in extensions._extensions and
ui.configbool('remotenames', 'bookmarks', True))
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