Commit dc33b3d7b21b2003d6835a06fecf9ed4f4535f7e

Scott J. Goldman 2013-06-02T02:13:45

Don't bail on parsing commits with an invalid timezone git doesn't do that, and it's not something that's usually actionable to fix. if you have a git repository with one bad timezone in the history, it's too late to change it most likely.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
diff --git a/src/signature.c b/src/signature.c
index 1131fb7..cd6167f 100644
--- a/src/signature.c
+++ b/src/signature.c
@@ -174,8 +174,10 @@ int git_signature__parse(git_signature *sig, const char **buffer_out,
 			tz_start = time_end + 1;
 
 			if ((tz_start[0] != '-' && tz_start[0] != '+') ||
-				git__strtol32(&offset, tz_start + 1, &tz_end, 10) < 0)
-				return signature_error("malformed timezone");
+				git__strtol32(&offset, tz_start + 1, &tz_end, 10) < 0) {
+				//malformed timezone, just assume it's zero
+				offset = 0;
+			}
 
 			hours = offset / 100;
 			mins = offset % 100;