comparison mercurial/changelog.py @ 1202:71111d796e40

Commit date validation: more stringent checks, more useful error messages.
author Bryan O'Sullivan <bos@serpentine.com>
date Sun, 04 Sep 2005 14:47:02 -0700
parents 8deb69818e4b
children b47f96a178a3
comparison
equal deleted inserted replaced
1201:59bfbdbc38f6 1202:71111d796e40
33 user=None, date=None): 33 user=None, date=None):
34 if date: 34 if date:
35 # validate explicit (probably user-specified) date and 35 # validate explicit (probably user-specified) date and
36 # time zone offset. values must fit in signed 32 bits for 36 # time zone offset. values must fit in signed 32 bits for
37 # current 32-bit linux runtimes. 37 # current 32-bit linux runtimes.
38 when, offset = map(int, date.split(' ')) 38 try:
39 when, offset = map(int, date.split(' '))
40 except ValueError:
41 raise ValueError('invalid date: %r' % date)
39 if abs(when) > 0x7fffffff: 42 if abs(when) > 0x7fffffff:
40 raise ValueError('date exceeds 32 bits: %d' % when) 43 raise ValueError('date exceeds 32 bits: %d' % when)
41 if abs(offset) >= 43200: 44 if abs(offset) >= 43200:
42 raise ValueError('impossible time zone offset: %d' % offset) 45 raise ValueError('impossible time zone offset: %d' % offset)
43 else: 46 else: