mercurial/changelog.py
changeset 2522 85f796baab10
parent 2142 8a1e2a9c7013
child 2523 4ab59a3acd16
equal deleted inserted replaced
2521:9cceb439048b 2522:85f796baab10
    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. timezones go from UTC-12
    44             # current 32-bit linux runtimes. timezones go from UTC-12
    45             # to UTC+14
    45             # to UTC+14
    46             try:
    46             when, offset = util.parsedate(date)
    47                 when, offset = map(int, date.split(' '))
       
    48             except ValueError:
       
    49                 raise ValueError(_('invalid date: %r') % date)
       
    50             if abs(when) > 0x7fffffff:
    47             if abs(when) > 0x7fffffff:
    51                 raise ValueError(_('date exceeds 32 bits: %d') % when)
    48                 raise ValueError(_('date exceeds 32 bits: %d') % when)
    52             if offset < -50400 or offset > 43200:
    49             if offset < -50400 or offset > 43200:
    53                 raise ValueError(_('impossible time zone offset: %d') % offset)
    50                 raise ValueError(_('impossible time zone offset: %d') % offset)
       
    51             parseddate = "%d %d" % (when, offset)
    54         else:
    52         else:
    55             date = "%d %d" % util.makedate()
    53             parseddate = "%d %d" % util.makedate()
    56         list.sort()
    54         list.sort()
    57         l = [hex(manifest), user, date] + list + ["", desc]
    55         l = [hex(manifest), user, parseddate] + list + ["", desc]
    58         text = "\n".join(l)
    56         text = "\n".join(l)
    59         return self.addrevision(text, transaction, self.count(), p1, p2)
    57         return self.addrevision(text, transaction, self.count(), p1, p2)