Mercurial > hg > mercurial-crew-with-dirclash
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] |