comparison mercurial/changelog.py @ 1196:3738e85ead07

Make date/timezone validation in changelog.add more robust. Add test.
author Bryan O'Sullivan <bos@serpentine.com>
date Sat, 03 Sep 2005 23:28:15 -0700
parents f92af8d53330
children 8deb69818e4b
comparison
equal deleted inserted replaced
1195:f92af8d53330 1196:3738e85ead07
30 return self.extract(self.revision(node)) 30 return self.extract(self.revision(node))
31 31
32 def add(self, manifest, list, desc, transaction, p1=None, p2=None, 32 def add(self, manifest, list, desc, transaction, p1=None, p2=None,
33 user=None, date=None): 33 user=None, date=None):
34 if date: 34 if date:
35 when, offset = map(int, date.split()) 35 # validate explicit (probably user-specified) date and
36 # time zone offset
37 when, offset = map(int, date.split(' '))
38 time.localtime(when)
36 assert abs(offset) < 43200, 'bad time zone offset: %d' % offset 39 assert abs(offset) < 43200, 'bad time zone offset: %d' % offset
37 else: 40 else:
38 if time.daylight: offset = time.altzone 41 if time.daylight: offset = time.altzone
39 else: offset = time.timezone 42 else: offset = time.timezone
40 date = "%d %d" % (time.time(), offset) 43 date = "%d %d" % (time.time(), offset)