[PATCH 1 of 2 v2] Allow commit date before Unix epoch
Florent Gallaire
fgallaire at gmail.com
Sat Apr 2 00:55:27 UTC 2016
# HG changeset patch
# User Florent Gallaire <fgallaire at gmail.com>
# Date 1459212616 -7200
# Tue Mar 29 02:50:16 2016 +0200
# Node ID 8152e614ee77606b3e26f8935ded4157b4caa86c
# Parent ff0d3b6b287f89594bd8d0308fe2810d2a18ea01
date: allow negative timestamp
DVCS are very useful to store various texts (as legislation) written before
Unix epoch. Fri, 13 Dec 1901 is a nice gain over Thu, 01 Jan 1970.
diff -r ff0d3b6b287f -r 8152e614ee77 mercurial/util.py
--- a/mercurial/util.py Tue Mar 29 12:29:00 2016 -0500
+++ b/mercurial/util.py Tue Mar 29 02:50:16 2016 +0200
@@ -1578,9 +1578,6 @@
number of seconds away from UTC. if timezone is false, do not
append time zone to string."""
t, tz = date or makedate()
- if t < 0:
- t = 0 # time.gmtime(lt) fails on Windows for lt < -43200
- tz = 0
if "%1" in format or "%2" in format or "%z" in format:
sign = (tz > 0) and "-" or "+"
minutes = abs(tz) // 60
@@ -1714,8 +1711,6 @@
# to UTC+14
if abs(when) > 0x7fffffff:
raise Abort(_('date exceeds 32 bits: %d') % when)
- if when < 0:
- raise Abort(_('negative date value: %d') % when)
if offset < -50400 or offset > 43200:
raise Abort(_('impossible time zone offset: %d') % offset)
return when, offset
diff -r ff0d3b6b287f -r 8152e614ee77 tests/test-commit.t
--- a/tests/test-commit.t Tue Mar 29 12:29:00 2016 -0500
+++ b/tests/test-commit.t Tue Mar 29 02:50:16 2016 +0200
@@ -27,8 +27,8 @@
$ hg commit -d '111111111111 0' -m commit-7
abort: date exceeds 32 bits: 111111111111
[255]
- $ hg commit -d '-7654321 3600' -m commit-7
- abort: negative date value: -7654321
+ $ hg commit -d '-111111111111 3600' -m commit-7
+ abort: date exceeds 32 bits: -111111111111
[255]
commit added file that has been deleted
More information about the Mercurial-devel
mailing list