{"action":"created","comment":{"url":"https://api.github.com/repos/dotnet/coreclr/pulls/comments/37129090","id":37129090,"diff_hunk":"@@ -3620,8 +3620,11 @@ private static bool IsValidSystemTimeZoneId(string id)\n             Byte[] typeOfLocalTime, TZifType[] transitionTypes, Boolean[] StandardTime, Boolean[] GmtTime, string futureTransitionsPosixFormat)\n         {\n             // To generate AdjustmentRules, use the following approach:\n-            // 1. The first AdjustmentRule goes from DateTime.Min to the first transition and uses the first standard transitionType\n-            // (or the first transitionType if none of them are standard)\n+            // 0. Skip any DateTime.MinValue transition times. In newer versions of the tzfile, there\n+            // is a \"big bang\" transition time, which is before the year 0001. Since any times before year 0001\n+            // cannot be represented by DateTime, there is no reason to make AdjustmentRules for these unrepresentable time periods.\n+            // 1. If there are no DateTime.MinValue times, the first AdjustmentRule goes from DateTime.Min","path":"src/mscorlib/src/System/TimeZoneInfo.cs","position":9,"original_position":9,"commit_id":"bef5a20c920f5d2413c9cc249ec49c2c4ae833c3","original_commit_id":"bef5a20c920f5d2413c9cc249ec49c2c4ae833c3","user":{"login":"tarekgh","id":10833894,"avatar_url":"https://avatars.githubusercontent.com/u/10833894?v=3","gravatar_id":"","url":"https://api.github.com/users/tarekgh","html_url":"https://github.com/tarekgh","followers_url":"https://api.github.com/users/tarekgh/followers","following_url":"https://api.github.com/users/tarekgh/following{/other_user}","gists_url":"https://api.github.com/users/tarekgh/gists{/gist_id}","starred_url":"https://api.github.com/users/tarekgh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tarekgh/subscriptions","organizations_url":"https://api.github.com/users/tarekgh/orgs","repos_url":"https://api.github.com/users/tarekgh/repos","events_url":"https://api.github.com/users/tarekgh/events{/privacy}","received_events_url":"https://api.github.com/users/tarekgh/received_events","type":"User","site_admin":false},"body":"can we have a TZ starts at DateTime.MinValue and its UTC offset at that time is different than the current UTC offset? this can make the calculation wrong. \r\nwhat about you keep the rules for time zones starts at DateTime.MinValue and for big bang case we just skip. I mean having TZif_UnixTimeToDateTime return Boolean telling about success or fail and in calling site you just check the returned value and skip it if it is false. ","created_at":"2015-08-14T23:47:40Z","updated_at":"2015-08-14T23:47:40Z","html_url":"https://github.com/dotnet/coreclr/pull/1397#discussion_r37129090","pull_request_url":"https://api.github.com/repos/dotnet/coreclr/pulls/1397","_links":{"self":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/comments/37129090"},"html":{"href":"https://github.com/dotnet/coreclr/pull/1397#discussion_r37129090"},"pull_request":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/1397"}}},"pull_request":{"url":"https://api.github.com/repos/dotnet/coreclr/pulls/1397","id":42506599,"html_url":"https://github.com/dotnet/coreclr/pull/1397","diff_url":"https://github.com/dotnet/coreclr/pull/1397.diff","patch_url":"https://github.com/dotnet/coreclr/pull/1397.patch","issue_url":"https://api.github.com/repos/dotnet/coreclr/issues/1397","number":1397,"state":"open","locked":false,"title":"Handle newer tzfiles by allowing for the \"big bang\" transition.","user":{"login":"eerhardt","id":8291187,"avatar_url":"https://avatars.githubusercontent.com/u/8291187?v=3","gravatar_id":"","url":"https://api.github.com/users/eerhardt","html_url":"https://github.com/eerhardt","followers_url":"https://api.github.com/users/eerhardt/followers","following_url":"https://api.github.com/users/eerhardt/following{/other_user}","gists_url":"https://api.github.com/users/eerhardt/gists{/gist_id}","starred_url":"https://api.github.com/users/eerhardt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eerhardt/subscriptions","organizations_url":"https://api.github.com/users/eerhardt/orgs","repos_url":"https://api.github.com/users/eerhardt/repos","events_url":"https://api.github.com/users/eerhardt/events{/privacy}","received_events_url":"https://api.github.com/users/eerhardt/received_events","type":"User","site_admin":false},"body":"In the TZ release 2014c, a new \"big bang\" transition time was added\r\nto the beginning of the tzfiles. This broke the TimeZoneInfo parsing\r\nlogic because the transition time was for 13 billion years ago, which\r\nis unrepresentable by DateTime.\r\n\r\nTo handle these new transitions, check for times really far in the past and future, and use DateTime.Min/Max to represent them.  Then skip over any DateTime.MinValue times when generating the AdjustmentRules.\r\n\r\nFix https://github.com/dotnet/corefx/issues/2816.\r\n\r\n@tarekgh","created_at":"2015-08-14T23:16:35Z","updated_at":"2015-08-14T23:47:40Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bab0987eb8e29feaf3d93c89f53ab0790f903404","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/dotnet/coreclr/pulls/1397/commits","review_comments_url":"https://api.github.com/repos/dotnet/coreclr/pulls/1397/comments","review_comment_url":"https://api.github.com/repos/dotnet/coreclr/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotnet/coreclr/issues/1397/comments","statuses_url":"https://api.github.com/repos/dotnet/coreclr/statuses/bef5a20c920f5d2413c9cc249ec49c2c4ae833c3","head":{"label":"eerhardt:master","ref":"master","sha":"bef5a20c920f5d2413c9cc249ec49c2c4ae833c3","user":{"login":"eerhardt","id":8291187,"avatar_url":"https://avatars.githubusercontent.com/u/8291187?v=3","gravatar_id":"","url":"https://api.github.com/users/eerhardt","html_url":"https://github.com/eerhardt","followers_url":"https://api.github.com/users/eerhardt/followers","following_url":"https://api.github.com/users/eerhardt/following{/other_user}","gists_url":"https://api.github.com/users/eerhardt/gists{/gist_id}","starred_url":"https://api.github.com/users/eerhardt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eerhardt/subscriptions","organizations_url":"https://api.github.com/users/eerhardt/orgs","repos_url":"https://api.github.com/users/eerhardt/repos","events_url":"https://api.github.com/users/eerhardt/events{/privacy}","received_events_url":"https://api.github.com/users/eerhardt/received_events","type":"User","site_admin":false},"repo":{"id":39392450,"name":"coreclr","full_name":"eerhardt/coreclr","owner":{"login":"eerhardt","id":8291187,"avatar_url":"https://avatars.githubusercontent.com/u/8291187?v=3","gravatar_id":"","url":"https://api.github.com/users/eerhardt","html_url":"https://github.com/eerhardt","followers_url":"https://api.github.com/users/eerhardt/followers","following_url":"https://api.github.com/users/eerhardt/following{/other_user}","gists_url":"https://api.github.com/users/eerhardt/gists{/gist_id}","starred_url":"https://api.github.com/users/eerhardt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eerhardt/subscriptions","organizations_url":"https://api.github.com/users/eerhardt/orgs","repos_url":"https://api.github.com/users/eerhardt/repos","events_url":"https://api.github.com/users/eerhardt/events{/privacy}","received_events_url":"https://api.github.com/users/eerhardt/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/eerhardt/coreclr","description":"This repo contains the .NET Core runtime, called CoreCLR, and the base library, called mscorlib. It includes the garbage collector, JIT compiler, base .NET data types and many low-level classes.","fork":true,"url":"https://api.github.com/repos/eerhardt/coreclr","forks_url":"https://api.github.com/repos/eerhardt/coreclr/forks","keys_url":"https://api.github.com/repos/eerhardt/coreclr/keys{/key_id}","collaborators_url":"https://api.github.com/repos/eerhardt/coreclr/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/eerhardt/coreclr/teams","hooks_url":"https://api.github.com/repos/eerhardt/coreclr/hooks","issue_events_url":"https://api.github.com/repos/eerhardt/coreclr/issues/events{/number}","events_url":"https://api.github.com/repos/eerhardt/coreclr/events","assignees_url":"https://api.github.com/repos/eerhardt/coreclr/assignees{/user}","branches_url":"https://api.github.com/repos/eerhardt/coreclr/branches{/branch}","tags_url":"https://api.github.com/repos/eerhardt/coreclr/tags","blobs_url":"https://api.github.com/repos/eerhardt/coreclr/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/eerhardt/coreclr/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/eerhardt/coreclr/git/refs{/sha}","trees_url":"https://api.github.com/repos/eerhardt/coreclr/git/trees{/sha}","statuses_url":"https://api.github.com/repos/eerhardt/coreclr/statuses/{sha}","languages_url":"https://api.github.com/repos/eerhardt/coreclr/languages","stargazers_url":"https://api.github.com/repos/eerhardt/coreclr/stargazers","contributors_url":"https://api.github.com/repos/eerhardt/coreclr/contributors","subscribers_url":"https://api.github.com/repos/eerhardt/coreclr/subscribers","subscription_url":"https://api.github.com/repos/eerhardt/coreclr/subscription","commits_url":"https://api.github.com/repos/eerhardt/coreclr/commits{/sha}","git_commits_url":"https://api.github.com/repos/eerhardt/coreclr/git/commits{/sha}","comments_url":"https://api.github.com/repos/eerhardt/coreclr/comments{/number}","issue_comment_url":"https://api.github.com/repos/eerhardt/coreclr/issues/comments{/number}","contents_url":"https://api.github.com/repos/eerhardt/coreclr/contents/{+path}","compare_url":"https://api.github.com/repos/eerhardt/coreclr/compare/{base}...{head}","merges_url":"https://api.github.com/repos/eerhardt/coreclr/merges","archive_url":"https://api.github.com/repos/eerhardt/coreclr/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/eerhardt/coreclr/downloads","issues_url":"https://api.github.com/repos/eerhardt/coreclr/issues{/number}","pulls_url":"https://api.github.com/repos/eerhardt/coreclr/pulls{/number}","milestones_url":"https://api.github.com/repos/eerhardt/coreclr/milestones{/number}","notifications_url":"https://api.github.com/repos/eerhardt/coreclr/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/eerhardt/coreclr/labels{/name}","releases_url":"https://api.github.com/repos/eerhardt/coreclr/releases{/id}","created_at":"2015-07-20T15:37:07Z","updated_at":"2015-07-20T15:37:45Z","pushed_at":"2015-08-14T23:15:24Z","git_url":"git://github.com/eerhardt/coreclr.git","ssh_url":"git@github.com:eerhardt/coreclr.git","clone_url":"https://github.com/eerhardt/coreclr.git","svn_url":"https://github.com/eerhardt/coreclr","homepage":"http://dotnet.github.io/core/","size":36239,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dotnet:master","ref":"master","sha":"e26b96d4ad57801af4d52294a52a9386e3cb6ca6","user":{"login":"dotnet","id":9141961,"avatar_url":"https://avatars.githubusercontent.com/u/9141961?v=3","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"repo":{"id":30092893,"name":"coreclr","full_name":"dotnet/coreclr","owner":{"login":"dotnet","id":9141961,"avatar_url":"https://avatars.githubusercontent.com/u/9141961?v=3","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dotnet/coreclr","description":"This repo contains the .NET Core runtime, called CoreCLR, and the base library, called mscorlib. It includes the garbage collector, JIT compiler, base .NET data types and many low-level classes.","fork":false,"url":"https://api.github.com/repos/dotnet/coreclr","forks_url":"https://api.github.com/repos/dotnet/coreclr/forks","keys_url":"https://api.github.com/repos/dotnet/coreclr/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet/coreclr/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet/coreclr/teams","hooks_url":"https://api.github.com/repos/dotnet/coreclr/hooks","issue_events_url":"https://api.github.com/repos/dotnet/coreclr/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet/coreclr/events","assignees_url":"https://api.github.com/repos/dotnet/coreclr/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet/coreclr/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet/coreclr/tags","blobs_url":"https://api.github.com/repos/dotnet/coreclr/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet/coreclr/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet/coreclr/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet/coreclr/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet/coreclr/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet/coreclr/languages","stargazers_url":"https://api.github.com/repos/dotnet/coreclr/stargazers","contributors_url":"https://api.github.com/repos/dotnet/coreclr/contributors","subscribers_url":"https://api.github.com/repos/dotnet/coreclr/subscribers","subscription_url":"https://api.github.com/repos/dotnet/coreclr/subscription","commits_url":"https://api.github.com/repos/dotnet/coreclr/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet/coreclr/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet/coreclr/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet/coreclr/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet/coreclr/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet/coreclr/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet/coreclr/merges","archive_url":"https://api.github.com/repos/dotnet/coreclr/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet/coreclr/downloads","issues_url":"https://api.github.com/repos/dotnet/coreclr/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet/coreclr/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet/coreclr/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet/coreclr/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet/coreclr/labels{/name}","releases_url":"https://api.github.com/repos/dotnet/coreclr/releases{/id}","created_at":"2015-01-30T22:10:02Z","updated_at":"2015-08-14T17:14:59Z","pushed_at":"2015-08-14T23:16:36Z","git_url":"git://github.com/dotnet/coreclr.git","ssh_url":"git@github.com:dotnet/coreclr.git","clone_url":"https://github.com/dotnet/coreclr.git","svn_url":"https://github.com/dotnet/coreclr","homepage":"http://dotnet.github.io/core/","size":52039,"stargazers_count":5037,"watchers_count":5037,"language":"C#","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":995,"mirror_url":null,"open_issues_count":236,"forks":995,"open_issues":236,"watchers":5037,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/1397"},"html":{"href":"https://github.com/dotnet/coreclr/pull/1397"},"issue":{"href":"https://api.github.com/repos/dotnet/coreclr/issues/1397"},"comments":{"href":"https://api.github.com/repos/dotnet/coreclr/issues/1397/comments"},"review_comments":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/1397/comments"},"review_comment":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/1397/commits"},"statuses":{"href":"https://api.github.com/repos/dotnet/coreclr/statuses/bef5a20c920f5d2413c9cc249ec49c2c4ae833c3"}}}}