Mercurial > hg
changeset 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 |
files | mercurial/changelog.py tests/test-commit |
diffstat | 2 files changed, 17 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/changelog.py Sat Sep 03 23:08:39 2005 -0700 +++ b/mercurial/changelog.py Sat Sep 03 23:28:15 2005 -0700 @@ -32,7 +32,10 @@ def add(self, manifest, list, desc, transaction, p1=None, p2=None, user=None, date=None): if date: - when, offset = map(int, date.split()) + # validate explicit (probably user-specified) date and + # time zone offset + when, offset = map(int, date.split(' ')) + time.localtime(when) assert abs(offset) < 43200, 'bad time zone offset: %d' % offset else: if time.daylight: offset = time.altzone
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-commit Sat Sep 03 23:28:15 2005 -0700 @@ -0,0 +1,13 @@ +#!/bin/sh + +hg init test +cd test +echo foo > foo +hg add foo +hg commit -d '0 0' -m commit-1 +echo foo >> foo +hg commit -d '1 4444444' -m commit-3 +hg commit -d '1 15.1' -m commit-4 +hg commit -d 'foo bar' -m commit-5 +hg commit -d ' 1 4444' -m commit-6 +hg commit -d '111111111111 0' -m commit-7