diff --git a/mercurial/revlogutils/nodemap.py b/mercurial/revlogutils/nodemap.py --- a/mercurial/revlogutils/nodemap.py +++ b/mercurial/revlogutils/nodemap.py @@ -206,11 +206,11 @@ def persist_nodemap(tr, revlog, pending= fd.write(data) if feed_data: if use_mmap: + fd.flush() + new_data = util.buffer(util.mmapread(fd, new_length)) + else: fd.seek(0) new_data = fd.read(new_length) - else: - fd.flush() - new_data = util.buffer(util.mmapread(fd, new_length)) target_docket.data_length = new_length target_docket.data_unused = new_unused