# HG changeset patch # User Dmitriy Taychenachev # Date 1242357538 25200 # Node ID 6b5925d56ecd128629cb8b3a8d82a544f9b6b612 # Parent b3be536e3f5085b0670ceb0d9dd39d2dd5a031bb dulwich: fix handling of negative time offsets. diff -r b3be536e3f50 -r 6b5925d56ecd dulwich/objects.py --- a/dulwich/objects.py Mon May 11 16:03:57 2009 -0700 +++ b/dulwich/objects.py Thu May 14 20:18:58 2009 -0700 @@ -479,15 +479,19 @@ def parse_timezone(text): offset = int(text) + signum = (offset < 0) and -1 or 1 + offset = abs(offset) hours = int(offset / 100) minutes = (offset % 100) - return (hours * 3600) + (minutes * 60) + return signum * (hours * 3600 + minutes * 60) def format_timezone(offset): if offset % 60 != 0: raise ValueError("Unable to handle non-minute offset.") - return '%+03d%02d' % (offset / 3600, (offset / 60) % 60) + sign = (offset < 0) and '-' or '+' + offset = abs(offset) + return '%c%02d%02d' % (sign, offset / 3600, (offset / 60) % 60) class Commit(ShaFile):