formatter: convert timestamp to int
Spotted while porting jsonchangeset printer to formatter. A timestamp may be
float type, but its meaningful part is just int.
--- a/mercurial/formatter.py Tue Apr 17 03:07:01 2018 +0200
+++ b/mercurial/formatter.py Fri Apr 13 22:58:49 2018 +0900
@@ -144,7 +144,9 @@
@staticmethod
def formatdate(date, fmt):
'''convert date tuple to appropriate format'''
- return date
+ # timestamp can be float, but the canonical form should be int
+ ts, tz = date
+ return (int(ts), tz)
@staticmethod
def formatdict(data, key, value, fmt, sep):
'''convert dict or key-value pairs to appropriate dict format'''
--- a/tests/test-export.t Tue Apr 17 03:07:01 2018 +0200
+++ b/tests/test-export.t Fri Apr 13 22:58:49 2018 +0900
@@ -165,7 +165,7 @@
[
{
"branch": "default",
- "date": [0.0, 0],
+ "date": [0, 0],
"desc": "foo-0",
"diff": "diff -r 000000000000 -r 871558de6af2 foo\n--- /dev/null\tThu Jan 01 00:00:00 1970 +0000\n+++ b/foo\tThu Jan 01 00:00:00 1970 +0000\n@@ -0,0 +1,1 @@\n+foo-0\n",
"node": "871558de6af2e8c244222f8eea69b782c94ce3df",
@@ -181,7 +181,7 @@
[
{
"branch": "default",
- "date": [0.0, 0],
+ "date": [0, 0],
"desc": "foo-0",
"diff": "diff -r 000000000000 -r 871558de6af2 foo\n--- /dev/null\tThu Jan 01 00:00:00 1970 +0000\n+++ b/foo\tThu Jan 01 00:00:00 1970 +0000\n@@ -0,0 +1,1 @@\n+foo-0\n",
"node": "871558de6af2e8c244222f8eea69b782c94ce3df",
@@ -190,7 +190,7 @@
},
{
"branch": "default",
- "date": [0.0, 0],
+ "date": [0, 0],
"desc": "foo-1",
"diff": "diff -r 871558de6af2 -r d1c9656e973c foo\n--- a/foo\tThu Jan 01 00:00:00 1970 +0000\n+++ b/foo\tThu Jan 01 00:00:00 1970 +0000\n@@ -1,1 +1,2 @@\n foo-0\n+foo-1\n",
"node": "d1c9656e973cfb5aebd5499bbd2cb350e3b12266",
@@ -206,7 +206,7 @@
[
{
"branch": "default",
- "date": [0.0, 0],
+ "date": [0, 0],
"desc": "foo-0",
"diff": "diff -r 000000000000 -r 871558de6af2 foo\n--- /dev/null\tThu Jan 01 00:00:00 1970 +0000\n+++ b/foo\tThu Jan 01 00:00:00 1970 +0000\n@@ -0,0 +1,1 @@\n+foo-0\n",
"node": "871558de6af2e8c244222f8eea69b782c94ce3df",
@@ -218,7 +218,7 @@
[
{
"branch": "default",
- "date": [0.0, 0],
+ "date": [0, 0],
"desc": "foo-1",
"diff": "diff -r 871558de6af2 -r d1c9656e973c foo\n--- a/foo\tThu Jan 01 00:00:00 1970 +0000\n+++ b/foo\tThu Jan 01 00:00:00 1970 +0000\n@@ -1,1 +1,2 @@\n foo-0\n+foo-1\n",
"node": "d1c9656e973cfb5aebd5499bbd2cb350e3b12266",
--- a/tests/test-grep.t Tue Apr 17 03:07:01 2018 +0200
+++ b/tests/test-grep.t Fri Apr 13 22:58:49 2018 +0900
@@ -58,7 +58,7 @@
$ hg grep -Tjson port
[
{
- "date": [4.0, 0],
+ "date": [4, 0],
"file": "port",
"line_number": 1,
"node": "914fa752cdea87777ac1a8d5c858b0c736218f6c",
@@ -67,7 +67,7 @@
"user": "spam"
},
{
- "date": [4.0, 0],
+ "date": [4, 0],
"file": "port",
"line_number": 2,
"node": "914fa752cdea87777ac1a8d5c858b0c736218f6c",
@@ -76,7 +76,7 @@
"user": "spam"
},
{
- "date": [4.0, 0],
+ "date": [4, 0],
"file": "port",
"line_number": 3,
"node": "914fa752cdea87777ac1a8d5c858b0c736218f6c",
@@ -91,7 +91,7 @@
$ hg grep -Tjson -l port
[
{
- "date": [4.0, 0],
+ "date": [4, 0],
"file": "port",
"line_number": 1,
"node": "914fa752cdea87777ac1a8d5c858b0c736218f6c",
@@ -119,7 +119,7 @@
[
{
"change": "-",
- "date": [4.0, 0],
+ "date": [4, 0],
"file": "port",
"line_number": 4,
"node": "914fa752cdea87777ac1a8d5c858b0c736218f6c",
@@ -129,7 +129,7 @@
},
{
"change": "+",
- "date": [3.0, 0],
+ "date": [3, 0],
"file": "port",
"line_number": 4,
"node": "95040cfd017d658c536071c6290230a613c4c2a6",
@@ -139,7 +139,7 @@
},
{
"change": "-",
- "date": [2.0, 0],
+ "date": [2, 0],
"file": "port",
"line_number": 1,
"node": "3b325e3481a1f07435d81dfdbfa434d9a0245b47",
@@ -149,7 +149,7 @@
},
{
"change": "-",
- "date": [2.0, 0],
+ "date": [2, 0],
"file": "port",
"line_number": 2,
"node": "3b325e3481a1f07435d81dfdbfa434d9a0245b47",
@@ -159,7 +159,7 @@
},
{
"change": "+",
- "date": [2.0, 0],
+ "date": [2, 0],
"file": "port",
"line_number": 1,
"node": "3b325e3481a1f07435d81dfdbfa434d9a0245b47",
@@ -169,7 +169,7 @@
},
{
"change": "+",
- "date": [2.0, 0],
+ "date": [2, 0],
"file": "port",
"line_number": 2,
"node": "3b325e3481a1f07435d81dfdbfa434d9a0245b47",
@@ -179,7 +179,7 @@
},
{
"change": "+",
- "date": [2.0, 0],
+ "date": [2, 0],
"file": "port",
"line_number": 3,
"node": "3b325e3481a1f07435d81dfdbfa434d9a0245b47",
@@ -189,7 +189,7 @@
},
{
"change": "+",
- "date": [1.0, 0],
+ "date": [1, 0],
"file": "port",
"line_number": 2,
"node": "8b20f75c158513ff5ac80bd0e5219bfb6f0eb587",
@@ -199,7 +199,7 @@
},
{
"change": "+",
- "date": [0.0, 0],
+ "date": [0, 0],
"file": "port",
"line_number": 1,
"node": "f31323c9217050ba245ee8b537c713ec2e8ab226",
--- a/tests/test-journal.t Tue Apr 17 03:07:01 2018 +0200
+++ b/tests/test-journal.t Fri Apr 13 22:58:49 2018 +0900
@@ -147,7 +147,7 @@
[
{
"command": "up",
- "date": [5.0, 0],
+ "date": [5, 0],
"name": ".",
"newhashes": ["1e6c11564562b4ed919baca798bc4338bd299d6a"],
"oldhashes": ["cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b"],
@@ -155,7 +155,7 @@
},
{
"command": "up 0",
- "date": [2.0, 0],
+ "date": [2, 0],
"name": ".",
"newhashes": ["cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b"],
"oldhashes": ["1e6c11564562b4ed919baca798bc4338bd299d6a"],
@@ -163,7 +163,7 @@
},
{
"command": "commit -Aqm b",
- "date": [1.0, 0],
+ "date": [1, 0],
"name": ".",
"newhashes": ["1e6c11564562b4ed919baca798bc4338bd299d6a"],
"oldhashes": ["cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b"],
@@ -171,7 +171,7 @@
},
{
"command": "commit -Aqm a",
- "date": [0.0, 0],
+ "date": [0, 0],
"name": ".",
"newhashes": ["cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b"],
"oldhashes": ["0000000000000000000000000000000000000000"],
--- a/tests/test-obsolete.t Tue Apr 17 03:07:01 2018 +0200
+++ b/tests/test-obsolete.t Fri Apr 13 22:58:49 2018 +0900
@@ -715,49 +715,49 @@
$ hg debugobsolete -Tjson
[
{
- "date": [1339.0, 0],
+ "date": [1339, 0],
"flag": 0,
"metadata": {"user": "test"},
"prednode": "1339133913391339133913391339133913391339",
"succnodes": ["ca819180edb99ed25ceafb3e9584ac287e240b00"]
},
{
- "date": [1339.0, 0],
+ "date": [1339, 0],
"flag": 0,
"metadata": {"user": "test"},
"prednode": "1337133713371337133713371337133713371337",
"succnodes": ["5601fb93a350734d935195fee37f4054c529ff39"]
},
{
- "date": [121.0, 120],
+ "date": [121, 120],
"flag": 12,
"metadata": {"user": "test"},
"prednode": "245bde4270cd1072a27757984f9cda8ba26f08ca",
"succnodes": ["cdbce2fbb16313928851e97e0d85413f3f7eb77f"]
},
{
- "date": [1338.0, 0],
+ "date": [1338, 0],
"flag": 1,
"metadata": {"user": "test"},
"prednode": "5601fb93a350734d935195fee37f4054c529ff39",
"succnodes": ["6f96419950729f3671185b847352890f074f7557"]
},
{
- "date": [1338.0, 0],
+ "date": [1338, 0],
"flag": 0,
"metadata": {"user": "test"},
"prednode": "ca819180edb99ed25ceafb3e9584ac287e240b00",
"succnodes": ["1337133713371337133713371337133713371337"]
},
{
- "date": [1337.0, 0],
+ "date": [1337, 0],
"flag": 0,
"metadata": {"user": "test"},
"prednode": "cdbce2fbb16313928851e97e0d85413f3f7eb77f",
"succnodes": ["ca819180edb99ed25ceafb3e9584ac287e240b00"]
},
{
- "date": [0.0, 0],
+ "date": [0, 0],
"flag": 0,
"metadata": {"user": "test"},
"parentnodes": ["6f96419950729f3671185b847352890f074f7557"],
@@ -1555,7 +1555,7 @@
$ hg debugobsolete --index --rev "3+7" -Tjson
[
{
- "date": [0.0, 0],
+ "date": [0, 0],
"flag": 0,
"index": 1,
"metadata": {"ef1": "1", "operation": "amend", "user": "test"},
@@ -1563,7 +1563,7 @@
"succnodes": ["d27fb9b066076fd921277a4b9e8b9cb48c95bc6a"]
},
{
- "date": [0.0, 0],
+ "date": [0, 0],
"flag": 0,
"index": 3,
"metadata": {"ef1": "1", "operation": "amend", "user": "test"},