Mercurial > public > mercurial-scm > hg
comparison mercurial/revlogutils/nodemap.py @ 44697:0792ad55e533
nodemap: access the mmap opener option using bytes
The key is bytes and need to be accessed s such.
Differential Revision: https://phab.mercurial-scm.org/D8413
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 14 Apr 2020 16:09:38 +0200 |
parents | ed475420e0af |
children | b4537125eb3c |
comparison
equal
deleted
inserted
replaced
44696:ed475420e0af | 44697:0792ad55e533 |
---|---|
46 docket.tip_node = pdata[offset : offset + tip_node_size] | 46 docket.tip_node = pdata[offset : offset + tip_node_size] |
47 docket.data_length = data_length | 47 docket.data_length = data_length |
48 docket.data_unused = data_unused | 48 docket.data_unused = data_unused |
49 | 49 |
50 filename = _rawdata_filepath(revlog, docket) | 50 filename = _rawdata_filepath(revlog, docket) |
51 use_mmap = revlog.opener.options.get("exp-persistent-nodemap.mmap") | 51 use_mmap = revlog.opener.options.get(b"exp-persistent-nodemap.mmap") |
52 try: | 52 try: |
53 with revlog.opener(filename) as fd: | 53 with revlog.opener(filename) as fd: |
54 if use_mmap: | 54 if use_mmap: |
55 data = util.buffer(util.mmapread(fd, data_length)) | 55 data = util.buffer(util.mmapread(fd, data_length)) |
56 else: | 56 else: |
130 raise error.ProgrammingError(msg) | 130 raise error.ProgrammingError(msg) |
131 | 131 |
132 can_incremental = util.safehasattr(revlog.index, "nodemap_data_incremental") | 132 can_incremental = util.safehasattr(revlog.index, "nodemap_data_incremental") |
133 ondisk_docket = revlog._nodemap_docket | 133 ondisk_docket = revlog._nodemap_docket |
134 feed_data = util.safehasattr(revlog.index, "update_nodemap_data") | 134 feed_data = util.safehasattr(revlog.index, "update_nodemap_data") |
135 use_mmap = revlog.opener.options.get("exp-persistent-nodemap.mmap") | 135 use_mmap = revlog.opener.options.get(b"exp-persistent-nodemap.mmap") |
136 | 136 |
137 data = None | 137 data = None |
138 # first attemp an incremental update of the data | 138 # first attemp an incremental update of the data |
139 if can_incremental and ondisk_docket is not None: | 139 if can_incremental and ondisk_docket is not None: |
140 target_docket = revlog._nodemap_docket.copy() | 140 target_docket = revlog._nodemap_docket.copy() |