comparison mercurial/changelog.py @ 2137:5fefab118f7e

Fix timezone check. According to http://en.wikipedia.org/wiki/List_of_time_zones timezones go from UTC-12 to UTC+14.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Wed, 26 Apr 2006 22:15:01 -0700
parents 74d3f5336b66
children 8a1e2a9c7013
comparison
equal deleted inserted replaced
2136:3335564f2518 2137:5fefab118f7e
39 def add(self, manifest, list, desc, transaction, p1=None, p2=None, 39 def add(self, manifest, list, desc, transaction, p1=None, p2=None,
40 user=None, date=None): 40 user=None, date=None):
41 if date: 41 if date:
42 # validate explicit (probably user-specified) date and 42 # validate explicit (probably user-specified) date and
43 # time zone offset. values must fit in signed 32 bits for 43 # time zone offset. values must fit in signed 32 bits for
44 # current 32-bit linux runtimes. 44 # current 32-bit linux runtimes. timezones go from UTC-12
45 # to UTC+14
45 try: 46 try:
46 when, offset = map(int, date.split(' ')) 47 when, offset = map(int, date.split(' '))
47 except ValueError: 48 except ValueError:
48 raise ValueError(_('invalid date: %r') % date) 49 raise ValueError(_('invalid date: %r') % date)
49 if abs(when) > 0x7fffffff: 50 if abs(when) > 0x7fffffff:
50 raise ValueError(_('date exceeds 32 bits: %d') % when) 51 raise ValueError(_('date exceeds 32 bits: %d') % when)
51 if abs(offset) >= 43200: 52 if offset < -50400 or offset > 43200:
52 raise ValueError(_('impossible time zone offset: %d') % offset) 53 raise ValueError(_('impossible time zone offset: %d') % offset)
53 else: 54 else:
54 date = "%d %d" % util.makedate() 55 date = "%d %d" % util.makedate()
55 list.sort() 56 list.sort()
56 l = [hex(manifest), user, date] + list + ["", desc] 57 l = [hex(manifest), user, date] + list + ["", desc]