Patchwork D11888: dirstate: Document Timestamp.second_ambiguous

login
register
mail settings
Submitter phabricator
Date Dec. 9, 2021, 9:55 a.m.
Message ID <differential-rev-PHID-DREV-6rrmdxnqegygbgo4h3mp-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/50214/
State Superseded
Headers show

Comments

phabricator - Dec. 9, 2021, 9:55 a.m.
SimonSapin created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D11888

AFFECTED FILES
  mercurial/dirstateutils/timestamp.py

CHANGE DETAILS




To: SimonSapin, #hg-reviewers
Cc: mercurial-patches, mercurial-devel

Patch

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 @@ 
     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 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).