# HG changeset patch # User Simon Sapin # Date 2021-12-09 09:23:41 # Node ID c8ca21962ff48ee90608ff6458292826387fd478 # Parent 9cf5ac8c71097959e638612c3544c9e8a41140cd dirstate: Document Timestamp.second_ambiguous Differential Revision: https://phab.mercurial-scm.org/D11888 diff --git a/mercurial/dirstateutils/timestamp.py b/mercurial/dirstateutils/timestamp.py --- a/mercurial/dirstateutils/timestamp.py +++ b/mercurial/dirstateutils/timestamp.py @@ -21,13 +21,16 @@ class timestamp(tuple): A Unix timestamp with optional nanoseconds precision, modulo 2**31 seconds. - A 2-tuple containing: + A 3-tuple containing: `truncated_seconds`: seconds since the Unix epoch, truncated to its lower 31 bits `subsecond_nanoseconds`: number of nanoseconds since `truncated_seconds`. When this is zero, the sub-second precision is considered unknown. + + `second_ambiguous`: whether this timestamp is still "reliable" + (see `reliable_mtime_of`) if we drop its sub-second component. """ def __new__(cls, value): @@ -93,7 +96,8 @@ def mtime_of(stat_result): def reliable_mtime_of(stat_result, present_mtime): - """same as `mtime_of`, but return None if the date might be ambiguous + """Same as `mtime_of`, but return `None` or a `Timestamp` with + `second_ambiguous` set if the date might be ambiguous. A modification time is reliable if it is older than "present_time" (or sufficiently in the future).