Mercurial > hg
diff hgext/remotefilelog/constants.py @ 40495:3a333a582d7b
remotefilelog: import pruned-down remotefilelog extension from hg-experimental
This is remotefilelog as of my recent patches for compatibility with
current tip of hg, minus support for old versions of Mercurial and
some FB-specific features like their treemanifest extension and
fetching linkrev data from a patched phabricator. The file extutil.py
moved from hgext3rd to remotefilelog.
This is not yet ready to be landed, consider it a preview for
now. Planned changes include:
* replace lz4 with zstd
* rename some capabilities, requirements and wireproto commands to mark
them as experimental
* consolidate bits of shallowutil with related functions (eg readfile)
I'm certainly open to other (small) changes, but my rough mission is
to land this largely as-is so we can use it as a model of the
functionality we need going forward for lazy-fetching of file contents
from a server.
# no-check-commit because of a few foo_bar functions
Differential Revision: https://phab.mercurial-scm.org/D4782
author | Augie Fackler <augie@google.com> |
---|---|
date | Thu, 27 Sep 2018 13:03:19 -0400 |
parents | |
children | 354acd0dc637 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hgext/remotefilelog/constants.py Thu Sep 27 13:03:19 2018 -0400 @@ -0,0 +1,37 @@ +from __future__ import absolute_import + +import struct + +from mercurial.i18n import _ + +REQUIREMENT = "remotefilelog" + +FILENAMESTRUCT = '!H' +FILENAMESIZE = struct.calcsize(FILENAMESTRUCT) + +NODESIZE = 20 +PACKREQUESTCOUNTSTRUCT = '!I' + +NODECOUNTSTRUCT = '!I' +NODECOUNTSIZE = struct.calcsize(NODECOUNTSTRUCT) + +PATHCOUNTSTRUCT = '!I' +PATHCOUNTSIZE = struct.calcsize(PATHCOUNTSTRUCT) + +FILEPACK_CATEGORY="" +TREEPACK_CATEGORY="manifests" + +ALL_CATEGORIES = [FILEPACK_CATEGORY, TREEPACK_CATEGORY] + +# revision metadata keys. must be a single character. +METAKEYFLAG = 'f' # revlog flag +METAKEYSIZE = 's' # full rawtext size + +def getunits(category): + if category == FILEPACK_CATEGORY: + return _("files") + if category == TREEPACK_CATEGORY: + return _("trees") + +# Repack options passed to ``markledger``. +OPTION_PACKSONLY = 'packsonly'