# HG changeset patch # User Pierre-Yves David # Date 1637692037 -3600 # Node ID 8d585aa9becff46badb223a134076a74d72a1f96 # Parent c0d88407b7d44a9367b8830f2fa1bc374f9681e1 dirstate: drop comparison primitive on the timestamp class All comparison are now managed without using operator : - the status mtime comparisons is handled by the DirstateItem, - the fixup reliability check, - the update "hack". So we no longer needs the operator and should discourage its usage. Differential Revision: https://phab.mercurial-scm.org/D11841 diff -r c0d88407b7d4 -r 8d585aa9becf mercurial/dirstateutils/timestamp.py --- a/mercurial/dirstateutils/timestamp.py Tue Nov 23 18:13:33 2021 +0100 +++ b/mercurial/dirstateutils/timestamp.py Tue Nov 23 19:27:17 2021 +0100 @@ -9,6 +9,8 @@ import os import stat +from .. import error + rangemask = 0x7FFFFFFF @@ -34,25 +36,14 @@ return super(timestamp, cls).__new__(cls, value) def __eq__(self, other): - self_secs, self_subsec_nanos = self - other_secs, other_subsec_nanos = other - return self_secs == other_secs and ( - self_subsec_nanos == other_subsec_nanos - or self_subsec_nanos == 0 - or other_subsec_nanos == 0 + raise error.ProgrammingError( + 'timestamp should never be compared directly' ) def __gt__(self, other): - self_secs, self_subsec_nanos = self - other_secs, other_subsec_nanos = other - if self_secs > other_secs: - return True - if self_secs < other_secs: - return False - if self_subsec_nanos == 0 or other_subsec_nanos == 0: - # they are considered equal, so not "greater than" - return False - return self_subsec_nanos > other_subsec_nanos + raise error.ProgrammingError( + 'timestamp should never be compared directly' + ) def get_fs_now(vfs):