mercurial/changelog.py
changeset 1197 8deb69818e4b
parent 1196 3738e85ead07
child 1202 71111d796e40
equal deleted inserted replaced
1196:3738e85ead07 1197:8deb69818e4b
    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             # validate explicit (probably user-specified) date and
    35             # validate explicit (probably user-specified) date and
    36             # time zone offset
    36             # time zone offset. values must fit in signed 32 bits for
       
    37             # current 32-bit linux runtimes.
    37             when, offset = map(int, date.split(' '))
    38             when, offset = map(int, date.split(' '))
    38             time.localtime(when)
    39             if abs(when) > 0x7fffffff:
    39             assert abs(offset) < 43200, 'bad time zone offset: %d' % offset
    40                 raise ValueError('date exceeds 32 bits: %d' % when)
       
    41             if abs(offset) >= 43200:
       
    42                 raise ValueError('impossible time zone offset: %d' % offset)
    40         else:
    43         else:
    41             if time.daylight: offset = time.altzone
    44             if time.daylight: offset = time.altzone
    42             else: offset = time.timezone
    45             else: offset = time.timezone
    43             date = "%d %d" % (time.time(), offset)
    46             date = "%d %d" % (time.time(), offset)
    44         list.sort()
    47         list.sort()