# HG changeset patch # User Matt Harbison # Date 1720723560 14400 # Node ID 20e2a20674dc9a417f0d922b01986c7aa0903ac6 # Parent 5f37c36f36b904f3cc9eb8bda48d5868faa466bd convert: drop a duplicate implementation of `dateutil.makedate()` I noticed this because the signature generated by pytype recently changed to be less specific. When the method was introduced back in 337d728e644f, `util.makedate()` didn't take an optional timestamp arg. But now it does, and the methods are the same (except the `dateutil` version validates that the timestamp isn't a negative value). I left the old method in place in case anyone has custom convert code that monkey patches it. diff -r 5f37c36f36b9 -r 20e2a20674dc hgext/convert/common.py --- a/hgext/convert/common.py Mon Jul 08 15:48:34 2024 +0200 +++ b/hgext/convert/common.py Thu Jul 11 14:46:00 2024 -0400 @@ -6,7 +6,6 @@ # GNU General Public License version 2 or any later version. import base64 -import datetime import os import pickle import re @@ -22,7 +21,10 @@ pycompat, util, ) -from mercurial.utils import procutil +from mercurial.utils import ( + dateutil, + procutil, +) propertycache = util.propertycache @@ -565,12 +567,5 @@ self.fp = None -def makedatetimestamp(t): - """Like dateutil.makedate() but for time t instead of current time""" - tz = round( - t - - datetime.datetime.fromtimestamp(t) - .replace(tzinfo=datetime.timezone.utc) - .timestamp() - ) - return t, tz +def makedatetimestamp(t: float) -> dateutil.hgdate: + return dateutil.makedate(t)