Merge lp:~jelmer/brz/default-time into lp:brz

Proposed by Jelmer Vernooij
Status: Merged
Merged at revision: 6842
Proposed branch: lp:~jelmer/brz/default-time
Merge into: lp:brz
Diff against target: 208 lines (+14/-58)
9 files modified
breezy/annotate.py (+1/-1)
breezy/crash.py (+1/-1)
breezy/doc_generate/autodoc_bash_completion.py (+0/-1)
breezy/doc_generate/autodoc_man.py (+0/-1)
breezy/doc_generate/autodoc_rstx.py (+2/-1)
breezy/osutils.py (+4/-15)
breezy/tests/blackbox/test_commit.py (+1/-34)
breezy/timestamp.py (+5/-1)
doc/en/release-notes/bzr-2.8.txt (+0/-3)
To merge this branch: bzr merge lp:~jelmer/brz/default-time
Reviewer Review Type Date Requested Status
Martin Packman Approve
Review via email: mp+335529@code.launchpad.net

Description of the change

Remove alternative gmtime() without tests.

To post a comment you must log in.
Revision history for this message
Martin Packman (gz) wrote :

I think this is sensible. Follow up change can generate string timestamps without using gmtime.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'breezy/annotate.py'
2--- breezy/annotate.py 2017-11-12 17:53:47 +0000
3+++ breezy/annotate.py 2017-12-21 17:10:32 +0000
4@@ -211,7 +211,7 @@
5 rev = revisions[origin]
6 tz = rev.timezone or 0
7 date_str = time.strftime('%Y%m%d',
8- osutils.gmtime(rev.timestamp + tz))
9+ time.gmtime(rev.timestamp + tz))
10 # a lazy way to get something like the email address
11 # TODO: Get real email address
12 author = rev.get_apparent_authors()[0]
13
14=== modified file 'breezy/crash.py'
15--- breezy/crash.py 2017-07-30 16:59:50 +0000
16+++ breezy/crash.py 2017-12-21 17:10:32 +0000
17@@ -244,7 +244,7 @@
18 # Windows or if it's manually configured it might need to be created,
19 # and then it should be private
20 os.makedirs(crash_dir, mode=0o600)
21- date_string = time.strftime('%Y-%m-%dT%H:%M', osutils.gmtime())
22+ date_string = time.strftime('%Y-%m-%dT%H:%M', time.gmtime())
23 # XXX: getuid doesn't work on win32, but the crash directory is per-user
24 if sys.platform == 'win32':
25 user_part = ''
26
27=== modified file 'breezy/doc_generate/autodoc_bash_completion.py'
28--- breezy/doc_generate/autodoc_bash_completion.py 2017-05-30 21:42:49 +0000
29+++ breezy/doc_generate/autodoc_bash_completion.py 2017-12-21 17:10:32 +0000
30@@ -21,7 +21,6 @@
31 import breezy
32 import breezy.help
33 import breezy.commands
34-import breezy.osutils
35 from breezy.doc_generate import get_autodoc_datetime
36
37
38
39=== modified file 'breezy/doc_generate/autodoc_man.py'
40--- breezy/doc_generate/autodoc_man.py 2017-11-12 13:53:51 +0000
41+++ breezy/doc_generate/autodoc_man.py 2017-12-21 17:10:32 +0000
42@@ -31,7 +31,6 @@
43 import breezy.help
44 import breezy.help_topics
45 import breezy.commands
46-import breezy.osutils
47 from breezy.doc_generate import get_autodoc_datetime
48
49 from breezy.plugin import load_plugins
50
51=== modified file 'breezy/doc_generate/autodoc_rstx.py'
52--- breezy/doc_generate/autodoc_rstx.py 2017-11-12 13:53:51 +0000
53+++ breezy/doc_generate/autodoc_rstx.py 2017-12-21 17:10:32 +0000
54@@ -38,7 +38,8 @@
55
56 def infogen(options, outfile):
57 """Create manual in RSTX format"""
58- tt = breezy.osutils.gmtime()
59+ t = time.time()
60+ tt = time.gmtime(t)
61 params = \
62 { "brzcmd": options.brz_name,
63 "datestamp": time.strftime("%Y-%m-%d", tt),
64
65=== modified file 'breezy/osutils.py'
66--- breezy/osutils.py 2017-11-12 13:53:51 +0000
67+++ breezy/osutils.py 2017-12-21 17:10:32 +0000
68@@ -27,7 +27,6 @@
69 from .lazy_import import lazy_import
70 lazy_import(globals(), """
71 from datetime import datetime
72-from datetime import timedelta
73 import getpass
74 import locale
75 import ntpath
76@@ -824,16 +823,6 @@
77 return True
78
79
80-def gmtime(seconds=None):
81- """Convert seconds since the Epoch to a time tuple expressing UTC (a.k.a.
82- GMT). When 'seconds' is not passed in, convert the current time instead.
83- Handy replacement for time.gmtime() buggy on Windows and 32-bit platforms.
84- """
85- if seconds is None:
86- seconds = time.time()
87- return (datetime(1970, 1, 1) + timedelta(seconds=seconds)).timetuple()
88-
89-
90 def local_time_offset(t=None):
91 """Return offset of local zone from GMT, either at present or at time t."""
92 if t is None:
93@@ -879,7 +868,7 @@
94 """
95 if offset is None:
96 offset = 0
97- tt = gmtime(t + offset)
98+ tt = time.gmtime(t + offset)
99 date_fmt = _default_format_by_weekday_num[tt[6]]
100 date_str = time.strftime(date_fmt, tt)
101 offset_str = _cache.get(offset, None)
102@@ -911,12 +900,12 @@
103
104 def _format_date(t, offset, timezone, date_fmt, show_offset):
105 if timezone == 'utc':
106- tt = gmtime(t)
107+ tt = time.gmtime(t)
108 offset = 0
109 elif timezone == 'original':
110 if offset is None:
111 offset = 0
112- tt = gmtime(t + offset)
113+ tt = time.gmtime(t + offset)
114 elif timezone == 'local':
115 tt = time.localtime(t)
116 offset = local_time_offset(t)
117@@ -932,7 +921,7 @@
118
119
120 def compact_date(when):
121- return time.strftime('%Y%m%d%H%M%S', gmtime(when))
122+ return time.strftime('%Y%m%d%H%M%S', time.gmtime(when))
123
124
125 def format_delta(delta):
126
127=== modified file 'breezy/tests/blackbox/test_commit.py'
128--- breezy/tests/blackbox/test_commit.py 2017-11-12 17:14:28 +0000
129+++ breezy/tests/blackbox/test_commit.py 2017-12-21 17:10:32 +0000
130@@ -726,40 +726,7 @@
131 self.assertEqual(
132 'Sat 2009-10-10 08:00:00 +0100',
133 osutils.format_date(last_rev.timestamp, last_rev.timezone))
134-
135- def test_commit_time_negative_windows(self):
136- tree = self.make_branch_and_tree('tree')
137- self.build_tree(['tree/hello.txt'])
138- tree.add('hello.txt')
139- out, err = self.run_bzr("commit -m hello "
140- "--commit-time='1969-10-10 00:00:00 +0000' tree/hello.txt")
141- last_rev = tree.branch.repository.get_revision(tree.last_revision())
142- self.assertEqual(
143- 'Fri 1969-10-10 00:00:00 +0000',
144- osutils.format_date(last_rev.timestamp, last_rev.timezone))
145-
146- def test_commit_time_negative_32bit(self):
147- tree = self.make_branch_and_tree('tree')
148- self.build_tree(['tree/hello.txt'])
149- tree.add('hello.txt')
150- out, err = self.run_bzr("commit -m hello "
151- "--commit-time='1900-01-01 00:00:00 +0000' tree/hello.txt")
152- last_rev = tree.branch.repository.get_revision(tree.last_revision())
153- self.assertEqual(
154- 'Mon 1900-01-01 00:00:00 +0000',
155- osutils.format_date(last_rev.timestamp, last_rev.timezone))
156-
157- def test_commit_time_positive_32bit(self):
158- tree = self.make_branch_and_tree('tree')
159- self.build_tree(['tree/hello.txt'])
160- tree.add('hello.txt')
161- out, err = self.run_bzr("commit -m hello "
162- "--commit-time='2039-01-01 00:00:00 +0000' tree/hello.txt")
163- last_rev = tree.branch.repository.get_revision(tree.last_revision())
164- self.assertEqual(
165- 'Sat 2039-01-01 00:00:00 +0000',
166- osutils.format_date(last_rev.timestamp, last_rev.timezone))
167-
168+
169 def test_commit_time_bad_time(self):
170 tree = self.make_branch_and_tree('tree')
171 self.build_tree(['tree/hello.txt'])
172
173=== modified file 'breezy/timestamp.py'
174--- breezy/timestamp.py 2017-10-27 00:18:42 +0000
175+++ breezy/timestamp.py 2017-12-21 17:10:32 +0000
176@@ -57,7 +57,7 @@
177 # revision XML entry will be reproduced faithfully.
178 if offset is None:
179 offset = 0
180- tt = osutils.gmtime(t + offset)
181+ tt = time.gmtime(t + offset)
182
183 return (osutils.weekdays[tt[6]] +
184 time.strftime(" %Y-%m-%d %H:%M:%S", tt)
185@@ -119,6 +119,10 @@
186 # give the epoch in utc
187 if secs == 0:
188 offset = 0
189+ if secs + offset < 0:
190+ from warnings import warn
191+ warn("gmtime of negative time (%s, %s) may not work on Windows" %
192+ (secs, offset))
193 return osutils.format_date(secs, offset=offset,
194 date_fmt='%Y-%m-%d %H:%M:%S')
195
196
197=== modified file 'doc/en/release-notes/bzr-2.8.txt'
198--- doc/en/release-notes/bzr-2.8.txt 2017-06-02 11:26:27 +0000
199+++ doc/en/release-notes/bzr-2.8.txt 2017-12-21 17:10:32 +0000
200@@ -36,9 +36,6 @@
201 doc/en/user-reference only contains English documentation.
202 (Jelmer Vernooij, #1565503)
203
204- * Fix for Windows and 32-bit platforms buggy gmtime().
205- (Florent Gallaire, #1669178, #1670243)
206-
207 Documentation
208 *************
209

Subscribers

People subscribed via source and target branches