diff --git a/mercurial/changelog.py b/mercurial/changelog.py --- a/mercurial/changelog.py +++ b/mercurial/changelog.py @@ -43,17 +43,15 @@ class changelog(revlog): # time zone offset. values must fit in signed 32 bits for # current 32-bit linux runtimes. timezones go from UTC-12 # to UTC+14 - try: - when, offset = map(int, date.split(' ')) - except ValueError: - raise ValueError(_('invalid date: %r') % date) + when, offset = util.parsedate(date) if abs(when) > 0x7fffffff: raise ValueError(_('date exceeds 32 bits: %d') % when) if offset < -50400 or offset > 43200: raise ValueError(_('impossible time zone offset: %d') % offset) + parseddate = "%d %d" % (when, offset) else: - date = "%d %d" % util.makedate() + parseddate = "%d %d" % util.makedate() list.sort() - l = [hex(manifest), user, date] + list + ["", desc] + l = [hex(manifest), user, parseddate] + list + ["", desc] text = "\n".join(l) return self.addrevision(text, transaction, self.count(), p1, p2)