##// END OF EJS Templates
py3: define and use pycompat.itervalues()...
py3: define and use pycompat.itervalues() .itervalues() only exists on Python 2. Python 3's equivalent is .values(). But we don't want to blindly use .values() everywhere because on Python 2, it will create a list, which will have performance implications. This commit introduces pycompat.itervalues() which will call the appropriate method on the passed object. We update all callers of obj.itervalues() to pycompat.itervalues(obj) instead. With this commit, the only source tranforming remaining is for iteritems(). Victory is near... Differential Revision: https://phab.mercurial-scm.org/D7013

File last commit:

r43347:687b865b default
r43374:74802979 default
Show More
constants.py
43 lines | 1006 B | text/x-python | PythonLexer
from __future__ import absolute_import
import struct
from mercurial.i18n import _
NETWORK_CAP_LEGACY_SSH_GETFILES = b'exp-remotefilelog-ssh-getfiles-1'
SHALLOWREPO_REQUIREMENT = b"exp-remotefilelog-repo-req-1"
BUNDLE2_CAPABLITY = b"exp-remotefilelog-b2cap-1"
FILENAMESTRUCT = b'!H'
FILENAMESIZE = struct.calcsize(FILENAMESTRUCT)
NODESIZE = 20
PACKREQUESTCOUNTSTRUCT = b'!I'
NODECOUNTSTRUCT = b'!I'
NODECOUNTSIZE = struct.calcsize(NODECOUNTSTRUCT)
PATHCOUNTSTRUCT = b'!I'
PATHCOUNTSIZE = struct.calcsize(PATHCOUNTSTRUCT)
FILEPACK_CATEGORY = b""
TREEPACK_CATEGORY = b"manifests"
ALL_CATEGORIES = [FILEPACK_CATEGORY, TREEPACK_CATEGORY]
# revision metadata keys. must be a single character.
METAKEYFLAG = b'f' # revlog flag
METAKEYSIZE = b's' # full rawtext size
def getunits(category):
if category == FILEPACK_CATEGORY:
return _(b"files")
if category == TREEPACK_CATEGORY:
return _(b"trees")
# Repack options passed to ``markledger``.
OPTION_PACKSONLY = b'packsonly'