# HG changeset patch # User Jose M. Prieto # Date 1159871598 -7200 # Node ID e5c9a084ffe3607b01052d59a11c03f16508eed0 # Parent e96d2956eb4adda44bb6a0bd51d08a4873cb7e1d util.strdate: assume local time when no timezone specified diff -r e96d2956eb4a -r e5c9a084ffe3 mercurial/util.py --- a/mercurial/util.py Tue Oct 03 12:33:14 2006 +0200 +++ b/mercurial/util.py Tue Oct 03 12:33:18 2006 +0200 @@ -909,9 +909,15 @@ tz = int(tz) offset = - 3600 * (tz / 100) - 60 * (tz % 100) else: - date, offset = string, 0 - localunixtime = int(calendar.timegm(time.strptime(date, format))) - unixtime = localunixtime + offset + date, offset = string, None + timetuple = time.strptime(date, format) + localunixtime = int(calendar.timegm(timetuple)) + if offset is None: + # local timezone + unixtime = int(time.mktime(timetuple)) + offset = unixtime - localunixtime + else: + unixtime = localunixtime + offset return unixtime, offset def parsedate(string, formats=None): diff -r e96d2956eb4a -r e5c9a084ffe3 tests/test-parse-date --- a/tests/test-parse-date Tue Oct 03 12:33:14 2006 +0200 +++ b/tests/test-parse-date Tue Oct 03 12:33:18 2006 +0200 @@ -21,13 +21,13 @@ # PST=UTC-8 / PDT=UTC-7 hg debugrebuildstate echo "a" > a -hg ci -d "2006-07-15 13:30" -m "summer@UTC" +hg ci -d "2006-07-15 13:30" -m "summer@UTC-7" hg debugrebuildstate echo "b" > a hg ci -d "2006-07-15 13:30 +0500" -m "summer@UTC+5" hg debugrebuildstate echo "c" > a -hg ci -d "2006-01-15 13:30" -m "winter@UTC" +hg ci -d "2006-01-15 13:30" -m "winter@UTC-8" hg debugrebuildstate echo "d" > a hg ci -d "2006-01-15 13:30 +0500" -m "winter@UTC+5" diff -r e96d2956eb4a -r e5c9a084ffe3 tests/test-parse-date.out --- a/tests/test-parse-date.out Tue Oct 03 12:33:14 2006 +0200 +++ b/tests/test-parse-date.out Tue Oct 03 12:33:18 2006 +0200 @@ -13,9 +13,9 @@ transaction abort! rollback completed Sun Jan 15 13:30:00 2006 +0500 -Sun Jan 15 13:30:00 2006 +0000 +Sun Jan 15 13:30:00 2006 -0800 Sat Jul 15 13:30:00 2006 +0500 -Sat Jul 15 13:30:00 2006 +0000 +Sat Jul 15 13:30:00 2006 -0700 Sun Jun 11 00:26:40 2006 -0400 Sat Apr 15 13:30:00 2006 +0200 Sat Apr 15 13:30:00 2006 +0000