Mercurial > public > mercurial-scm > hg
diff rust/hg-cpython/src/dirstate/dirstate_map.rs @ 48260:269ff8978086
dirstate: store mtimes with nanosecond precision in memory
Keep integer seconds since the Unix epoch,
together with integer nanoseconds in the `0 <= n < 1e9` range.
For now, nanoseconds are still always zero.
This commit is about data structure changes.
Differential Revision: https://phab.mercurial-scm.org/D11684
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Mon, 18 Oct 2021 11:23:07 +0200 |
parents | bd5f7c61d69d |
children | 434de12918fd |
line wrap: on
line diff
--- a/rust/hg-cpython/src/dirstate/dirstate_map.rs Tue Oct 19 21:03:13 2021 +0200 +++ b/rust/hg-cpython/src/dirstate/dirstate_map.rs Mon Oct 18 11:23:07 2021 +0200 @@ -18,11 +18,10 @@ use crate::{ dirstate::copymap::{CopyMap, CopyMapItemsIterator, CopyMapKeysIterator}, - dirstate::item::DirstateItem, + dirstate::item::{timestamp, DirstateItem}, pybytes_deref::PyBytesDeref, }; use hg::{ - dirstate::parsers::Timestamp, dirstate::StateMapIter, dirstate_tree::dirstate_map::DirstateMap as TreeDirstateMap, dirstate_tree::on_disk::DirstateV2ParseError, @@ -195,9 +194,9 @@ &self, p1: PyObject, p2: PyObject, - now: PyObject + now: (u32, u32) ) -> PyResult<PyBytes> { - let now = Timestamp(now.extract(py)?); + let now = timestamp(py, now)?; let mut inner = self.inner(py).borrow_mut(); let parents = DirstateParents { @@ -219,10 +218,10 @@ /// instead of written to a new data file (False). def write_v2( &self, - now: PyObject, + now: (u32, u32), can_append: bool, ) -> PyResult<PyObject> { - let now = Timestamp(now.extract(py)?); + let now = timestamp(py, now)?; let mut inner = self.inner(py).borrow_mut(); let result = inner.pack_v2(now, can_append);