Mercurial > public > mercurial-scm > hg
comparison rust/hg-cpython/src/revlog.rs @ 47034:0d8ff1f4ab0c
revlog: add a `entry_binary` method on index
The revlog index is already responsible for unpacking the binary entry, it would be
simpler to make it responsible for packing them. In practice the C version of
the index is already doing this internally.
We introduce a "entry_binary" method that return the binary version of an
existing revision. The method currently need to also take the revlog header to
deal with the "first revision" special case. We will introduce further refactor
in a later changeset to split that logic out.
Differential Revision: https://phab.mercurial-scm.org/D10508
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 08 Apr 2021 00:01:11 +0200 |
parents | 3c9208702db3 |
children | d57386e5c80e |
comparison
equal
deleted
inserted
replaced
47033:824ee4aaa09b | 47034:0d8ff1f4ab0c |
---|---|
168 def clearcaches(&self, *args, **kw) -> PyResult<PyObject> { | 168 def clearcaches(&self, *args, **kw) -> PyResult<PyObject> { |
169 self.nt(py).borrow_mut().take(); | 169 self.nt(py).borrow_mut().take(); |
170 self.docket(py).borrow_mut().take(); | 170 self.docket(py).borrow_mut().take(); |
171 self.mmap(py).borrow_mut().take(); | 171 self.mmap(py).borrow_mut().take(); |
172 self.call_cindex(py, "clearcaches", args, kw) | 172 self.call_cindex(py, "clearcaches", args, kw) |
173 } | |
174 | |
175 /// return the raw binary string representing a revision | |
176 def entry_binary(&self, *args, **kw) -> PyResult<PyObject> { | |
177 self.call_cindex(py, "entry_binary", args, kw) | |
173 } | 178 } |
174 | 179 |
175 /// get an index entry | 180 /// get an index entry |
176 def get(&self, *args, **kw) -> PyResult<PyObject> { | 181 def get(&self, *args, **kw) -> PyResult<PyObject> { |
177 self.call_cindex(py, "get", args, kw) | 182 self.call_cindex(py, "get", args, kw) |