Mercurial > public > mercurial-scm > hg
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) |