)]}'
{
  "log": [
    {
      "commit": "13bab43337242094663d6f699ad996ddc99ec582",
      "tree": "d6d1c009d71464edc399a0a4c74c08a4998cab43",
      "parents": [
        "3a238ae7620298608e1d463901051c397e4f8a2f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 06 15:23:11 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 06 17:31:48 2014 -0700"
      },
      "message": "Fix the tzdata update tools.\n\nThe recent libcore ZoneInfo changes mean that we can no longer\ncompile libcore\u0027s ZoneInfo against the RI. Luckily, the field in\nour data file that we needed ZoneInfo for isn\u0027t actually used.\nThis change removes our dependence on libcore.\n\nI\u0027ve left the field in to avoid a file format change. We can remove\nthe field if/when we next have a real need to bump the file format.\n\n(cherry-pick of 90cb5ffb85a9bc2e725824b3ca8db932d02c45db.)\n\nBug: 16168653\nChange-Id: Iedad2252c2b49f4d8bb2c7d9078b39b622444ca7\n"
    },
    {
      "commit": "39d903aea901cd29a4eef3a82c2dbda59b5bc292",
      "tree": "0bc1734cb02f86b03c7749e8dfd86af62fa5a59b",
      "parents": [
        "50a9630cc26cbc1e38e3ddc589f04fa5cd91697b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 25 15:50:31 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 25 15:50:31 2014 -0700"
      },
      "message": "Remove localtime_tz and strftime_tz.\n\nThis also brings our copy of strftime.c much closer to upstream, though\nwe still have several GNU extensions and hacks to deal with Android32\u0027s\nbroken time_t.\n\nBug: 15765976\nChange-Id: Ic9ef36e8acd3619504ecc4d73feec2b61fd4dfa1\n"
    },
    {
      "commit": "905e6d58aaf515bf237e62078f8a321920fe4c6b",
      "tree": "07ee9fad11490db7e30bc27e359d5d1adf950cef",
      "parents": [
        "123172ae370fe51e2d1fc26fe0aafa095af52919"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 25 11:55:59 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 25 12:03:51 2014 -0700"
      },
      "message": "Start hiding \"private/bionic_time.h\".\n\nBug: 15765976\nChange-Id: Ibd9cf07067ec8dffe9fda6c3d498d4ab90708220\n"
    },
    {
      "commit": "d10db8261949e4d84b65f5c369153d0ca86ab22c",
      "tree": "f3ec0b9a4e08a39492c86e49f17f1ba192b6182f",
      "parents": [
        "29e3a0e312b7a76b91adfd77a399a390ffaed11d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 19 14:49:30 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 19 14:49:30 2014 -0700"
      },
      "message": "Build tzcode with hidden visibility.\n\nBug: 11156955\nChange-Id: Ib98d837b56cbbdfd01687cb3054fe3103eec0da9\n"
    },
    {
      "commit": "2cb752664bbde379c20931fa330563d775b60033",
      "tree": "edde6cf7ab480d0a9423451a018beeb37c5017f4",
      "parents": [
        "477b45b89d84c9efec95c49a76cacbc9b2d5104c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 19 14:19:24 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 19 14:19:24 2014 -0700"
      },
      "message": "Fix arm64 localtime.c build.\n\nI\u0027m sick of having so many different compilers.\n\nChange-Id: I9088c38df2504e2b827d0ce5ba0fa551ae48f8f9\n"
    },
    {
      "commit": "5f564540a953a670925e058dabc521f68ffb997c",
      "tree": "0269b23ca27a57f847e39f59a6dc439928c4d410",
      "parents": [
        "942fa486f669da8bb5db724d5c4fdc93b4fb65d9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 19 13:54:10 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 19 13:54:10 2014 -0700"
      },
      "message": "Build tzcode with -Werror.\n\nParts of this are just getting us in sync with upstream, but the\n\u0027const\u0027 stuff is our own mess. We should kill the *_tz functions\nand lose this difference from upstream.\n\nChange-Id: I17d26534ed3f54667143d78147a8c53be56d7b33\n"
    },
    {
      "commit": "906eb9999b39edc0d09cd19ae94523e92ed5ad2e",
      "tree": "8a974074c92ba0c372eac8c0c47276fa6bea1c45",
      "parents": [
        "0b09153c12915c6d17434cf9fed2389f6fe4e713"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 18 19:46:25 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 18 19:48:14 2014 -0700"
      },
      "message": "Update localtime.c.\n\nThis brings us closer to upstream\u0027s ToT localtime.c; our main interest\nbeing their alternative fix for the stack usage we addressed in commit\n8a8b0c9bfcd80c67154ed2aca1e60d815c822acb.\n\nBug: 14468519\nChange-Id: Ic28600115afda7f3158d91255edf422678bac082\n"
    },
    {
      "commit": "5204a9e8ca1ca7304db9998dcf3fc5a2d6087662",
      "tree": "af11fa34fe7eb8c84e33c8ce635d19d582a5b98c",
      "parents": [
        "2c02d0057c93bfa6db4b30d8646baeb55d076062"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 11 17:15:56 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 11 17:15:56 2014 -0700"
      },
      "message": "Fix most of the tzcode warnings.\n\nThere\u0027s one left, but that\u0027s not fixed upstream yet.\n\nChange-Id: Iba920cb7b156357c7f5e8220eb55ff1637ff48a1\n"
    },
    {
      "commit": "8a8b0c9bfcd80c67154ed2aca1e60d815c822acb",
      "tree": "01bf8d67716660354043b9521a24cb857167456c",
      "parents": [
        "6897b7b8b95beae120fd53e6fd15921d6420bea7"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed May 14 16:06:17 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed May 14 16:50:41 2014 -0700"
      },
      "message": "Do not keep struct state on the stack.\n\nThis structure is huge (~18000 bytes on arm64) and can blow out\nthe stack very easily.\nModify the code to allocate these structures instead of leaving them\non the stack.\n\nBug: 14468519\nChange-Id: I774f71235d896d32a14ab1af06f95ca9ef819f52\n"
    },
    {
      "commit": "1728b2396591853345507a063ed6075dfd251706",
      "tree": "7083cd234073afa5179b94b3d978550c890af90c",
      "parents": [
        "bac795586bbc5dcbe886d8d781710f60c4c19d9b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 14 10:02:03 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 14 10:02:03 2014 -0700"
      },
      "message": "Switch to g_ for globals.\n\nThat\u0027s what the Google style guide recommends, and we\u0027re starting\nto get a mix.\n\nChange-Id: Ib0c53a890bb5deed5c679e887541a715faea91fc\n"
    },
    {
      "commit": "329103d3e2f42d3e35a060c3e0d326d6476eb2ef",
      "tree": "0624fa58c29f43ffe405be7fa47a73f85ad29fae",
      "parents": [
        "f2dc7d17196de9904df67f21aad1525b8568a705"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 25 16:55:04 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 25 21:51:26 2014 -0700"
      },
      "message": "Don\u0027t use so much stack in tzcode.\n\nBug: 14313703\nBug: https://code.google.com/p/android/issues/detail?id\u003d61130\nChange-Id: Id9b240fce20d4a6f2660792070e02b2b5f287655\n"
    },
    {
      "commit": "d51db86aafb988aea04355f2b6a6c925d67e5976",
      "tree": "cb05ec02899511f49e3cdb33913bc4c9f6895a7a",
      "parents": [
        "4ab29a3e4a797cff05a3a1a6fea3db5a800ac5ba",
        "d892892e8e185b9b948dec6a576f6202b186dc9d"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Feb 28 18:02:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 28 18:02:22 2014 +0000"
      },
      "message": "Merge \"Fix locatime.c indentation after sync\""
    },
    {
      "commit": "4ab29a3e4a797cff05a3a1a6fea3db5a800ac5ba",
      "tree": "7fb8baaf040b129db4ae1dccb0a0df975cf196e3",
      "parents": [
        "e9db4a976f864ef180340fe37c58af93a03daf46",
        "627d37cd1f7bb6680f611dbe5f28b74a086567a7"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Feb 28 17:40:08 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 28 17:40:09 2014 +0000"
      },
      "message": "Merge \"Update tzcode to 2013i\""
    },
    {
      "commit": "d892892e8e185b9b948dec6a576f6202b186dc9d",
      "tree": "da597eea02595f5e5af171ef665f0d911522c81f",
      "parents": [
        "627d37cd1f7bb6680f611dbe5f28b74a086567a7"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Feb 28 12:18:53 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Feb 28 17:15:00 2014 +0000"
      },
      "message": "Fix locatime.c indentation after sync\n\nBug: 12246757\nChange-Id: I8186e75f4899161af48cbf66e8f907dac0a326a2\n"
    },
    {
      "commit": "627d37cd1f7bb6680f611dbe5f28b74a086567a7",
      "tree": "9a34c5794b969ec043edbf4a9994618df483376e",
      "parents": [
        "e33454051677cd8953af558b67e525dda2231501"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Feb 28 11:46:03 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Feb 28 14:38:14 2014 +0000"
      },
      "message": "Update tzcode to 2013i\n\nBug: 12246757\nChange-Id: I3d5d2318155b1f54ef80afd58b1e5ca9a6d7018e\n"
    },
    {
      "commit": "fd3a9fb0c3b555d2fc93a6436da840ab4ea2fac1",
      "tree": "b8ddb1c1295a097cc884edc21cfef37c4cb79d30",
      "parents": [
        "e33454051677cd8953af558b67e525dda2231501"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 27 18:18:25 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 27 18:18:25 2014 -0800"
      },
      "message": "Vastly reduce the number of read(2)s done in tzload.\n\nThis costs us about 1000 fewer syscalls, which makes \"adb shell strace date\"\na lot more readable (which is the reason I\u0027ve been meaning to fix this for a\nlong time now), but also actually saves a measurable amount of time.\n\nLonger-term we should try to keep the tzdata mmap(2)ed in like libcore\ndoes.\n\nChange-Id: I1dd9c81968a13d3a6a55ba17f8a7d5c1f38cd103\n"
    },
    {
      "commit": "3073f90b17b1d2899b036e2c45ba5324f8c34298",
      "tree": "30e8014759965fdef25ea659c3418ae3adcf38f0",
      "parents": [
        "000ffd8ab0b4112173ce319869f4111f08fbe975"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 27 17:04:38 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 27 17:04:38 2014 -0800"
      },
      "message": "Fix a leak on error in tzload.\n\nChange-Id: Ib5d9aaa7a618e478ce8e5e82f967cf535bb1a5a3\n"
    },
    {
      "commit": "51aeff70218e18a7213fc6b7b9a4112be488bf58",
      "tree": "b80a3ef2f759de26684a120f14d770327ce27b07",
      "parents": [
        "14b66bffb08d23ad16d69b62d1fbfda769db1c12"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 08 18:30:44 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 08 18:30:44 2013 -0700"
      },
      "message": "Fix 32-bit build.\n\n  libc/tzcode/localtime.c: In function \u0027differ_by_repeat\u0027:\n  libc/tzcode/localtime.c:338:2: error: comparison is always false due to limited range of data type [-Werror\u003dtype-limits]\n\nChange-Id: Ic84be6391a66e9d50ed98f41d865387c77a60ffa\n"
    },
    {
      "commit": "e0d0b15de6eaee6c3975e13ad2b0e1238d0fdd8f",
      "tree": "85161ae4639426e08b7804976f4e9910bde68dbb",
      "parents": [
        "ad1244b2e7588df2f4e66747e1355016d6d014bc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 27 00:04:30 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 27 00:04:30 2013 -0700"
      },
      "message": "Upgrade to tzcode2013f plus Android modifications (from tzcode2013d plus Android modifications).\n\nlocaltime.c and strftime.c are still quite different from upstream because of\nour extensions, but the other files continue to be identical, and the two\nexceptions should be otherwise identical.\n\nFrom the tzcode2013e release notes:\n\n  Changes affecting Godthab time stamps after 2037 if version mismatch\n\n    Allow POSIX-like TZ strings where the transition time\u0027s hour can\n    range from -167 through 167, instead of the POSIX-required 0\n    through 24.  E.g., TZ\u003d\u0027FJT-12FJST,M10.3.1/146,M1.3.4/75\u0027 for the\n    new Fiji rules.  This is a more-compact way to represent\n    far-future time stamps for America/Godthab, America/Santiago,\n    Antarctica/Palmer, Asia/Gaza, Asia/Hebron, Asia/Jerusalem,\n    Pacific/Easter, and Pacific/Fiji.  Other zones are unaffected by\n    this change.  (Derived from a suggestion by Arthur David Olson.)\n\n    Allow POSIX-like TZ strings where daylight saving time is in\n    effect all year.  E.g., TZ\u003d\u0027WART4WARST,J1/0,J365/25\u0027 for Western\n    Argentina Summer Time all year.  This supports a more-compact way\n    to represent the 2013d data for America/Argentina/San_Luis.\n    Because of the change for San Luis noted above this change does not\n    affect the current data.  (Thanks to Andrew Main (Zefram) for\n    suggestions that improved this change.)\n\n    Where these two TZ changes take effect, there is a minor extension\n    to the tz file format in that it allows new values for the\n    embedded TZ-format string, and the tz file format version number\n    has therefore been increased from 2 to 3 as a precaution.\n    Version-2-based client code should continue to work as before for\n    all time stamps before 2038.  Existing version-2-based client code\n    (tzcode, GNU/Linux, Solaris) has been tested on version-3-format\n    files, and typically works in practice even for time stamps after\n    2037; the only known exception is America/Godthab.\n\n  Changes affecting API\n\n    Support for floating-point time_t has been removed.\n    It was always dicey, and POSIX no longer requires it.\n    (Thanks to Eric Blake for suggesting to the POSIX committee to\n    remove it, and thanks to Alan Barrett, Clive D.W. Feather, Andy\n    Heninger, Arthur David Olson, and Alois Treindl, for reporting\n    bugs and elucidating some of the corners of the old floating-point\n    implementation.)\n\n    The signatures of \u0027offtime\u0027, \u0027timeoff\u0027, and \u0027gtime\u0027 have been\n    changed back to the old practice of using \u0027long\u0027 to represent UT\n    offsets.  This had been inadvertently and mistakenly changed to\n    \u0027int_fast32_t\u0027.  (Thanks to Christos Zoulos.)\n\n    The code avoids undefined behavior on integer overflow in some\n    more places, including gmtime, localtime, mktime and zdump.\n\n  Changes affecting code internals\n\n    Minor changes pacify GCC 4.7.3 and GCC 4.8.1.\n\n  Changes affecting documentation and commentary\n\n    Documentation and commentary is more careful to distinguish UT in\n    general from UTC in particular.  (Thanks to Steve Allen.)\n\nFrom the tzcode2013f release notes:\n\n  Changes affecting API\n\n    The types of the global variables \u0027timezone\u0027 and \u0027altzone\u0027 (if present)\n    have been changed back to \u0027long\u0027.  This is required for \u0027timezone\u0027\n    by POSIX, and for \u0027altzone\u0027 by common practice, e.g., Solaris 11.\n    These variables were originally \u0027long\u0027 in the tz code, but were\n    mistakenly changed to \u0027time_t\u0027 in 1987; nobody reported the\n    incompatibility until now.  The difference matters on x32, where\n    \u0027long\u0027 is 32 bits and \u0027time_t\u0027 is 64.  (Thanks to Elliott Hughes.)\n\nChange-Id: I14937c42a391ddb865e4d89f0783961bcc6baa21\n"
    },
    {
      "commit": "cf178bf7d0300edfeec31528a744aa38a7177c0e",
      "tree": "84fc277fa849dbd5e6af543a70c8fce1d1544d88",
      "parents": [
        "4a509d898e24cefe0f7f0edf927b11ce7c304c81"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 18 19:25:28 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 19 11:17:42 2013 -0700"
      },
      "message": "Use $ANDROID_DATA and $ANDROID_ROOT to find the tzdata.\n\nThis lets us run binaries linked against bionic on an x86 host.\n\nChange-Id: Icd60cf99a90d747c77304c05b4f764e4d26af985\n"
    },
    {
      "commit": "713fe6463e6ff8cb9689aa8ead88c885d25d03aa",
      "tree": "76decfb3114af9fbcf85ca6f1c99c94177642023",
      "parents": [
        "c44205cf717fc8ab8ccaf3631032fa236ba61a86"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 22 14:13:50 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 22 14:18:04 2013 -0700"
      },
      "message": "Apply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a.\n\nAuthor: Paul Eggert \u003ceggert@cs.ucla.edu\u003e\nDate:   Thu Aug 22 12:47:51 2013 -0700\n\n    * localtime.c: Fix another integer overflow bug in mktime.\n\n    (time2sub): Avoid undefined behavior on time_t overflow.\n    Reported by Elliott Hughes in\n    \u003chttp://mm.icann.org/pipermail/tz/2013-August/019580.html\u003e.\n\nBug: 10310929\nChange-Id: I3bf26f1f91371552e0a3828457d27e22af55acb2\n"
    },
    {
      "commit": "ce4783ce76a4ef888466e02e4c6f3a0a3910bce8",
      "tree": "4bc51cd70edd4df6d6489d1ff8b4472f293f27b4",
      "parents": [
        "3db1f359e9f218f5f73a7a9f4d80e4be362a526e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 12 17:31:11 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 12 17:52:44 2013 -0700"
      },
      "message": "Upgrade to tzcode2013d.\n\nWell, kinda... localtime.c still contains a bunch of Android-specific\nhacks, as does strftime.c. But the other files are now exactly the same\nas upstream.\n\nThis catches up with several years of bug fixes, and fixes most of the\ncompiler warnings that were in this code. (Just two remain.)\n\nBug: 1744909\nChange-Id: I2ddfecb6fd408c847397c17afb0fff859e27feef\n"
    },
    {
      "commit": "e7aaad8b832bdff3b88aa62b5c7597e5fd3db520",
      "tree": "7dcdc00044d95dfaca5dd4f0a87ba2050a050b50",
      "parents": [
        "87efcd2e63c9f218f476ef88f21e660f9bce633f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 25 14:02:59 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 25 14:02:59 2013 -0700"
      },
      "message": "Improve diagnostics in the face of bad tzdata.\n\nBug: 8373554\nChange-Id: If8df5e956105e01cce95221ff0a7fa9d2b474db3\n"
    },
    {
      "commit": "e0175ca7e440a87e9d03f249fc8f210063df7908",
      "tree": "982e64580d19fc846cd7f2a1fa1dee2fbe2274d8",
      "parents": [
        "ec706c24acb4d1db6a583a57b76adfb9250d39eb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 14 14:38:08 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 14 14:38:08 2013 -0700"
      },
      "message": "Don\u0027t search off the end of the index for bad Olson ids.\n\nIn the old code, the index was a file to itself, so it made sense to\nread until you hit the end of the file. In the new code, the index is\nfollowed by hundreds of KiB of data, so we need to just search the\nindex.\n\nBug: 8368791\nChange-Id: Icf5f8b5516cf3a93679fa849c9f6cd1cb100e0f1\n"
    },
    {
      "commit": "4a05bef4c06dac05f1c9aa8cfc5b7e7dd6642385",
      "tree": "493815df9e9ddc9b5ce10780ef416eda8d7bb6e2",
      "parents": [
        "62c5cd0781e95c1c50b63c37a9a87bc158e64d38"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 11 17:17:02 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 11 17:17:02 2013 -0700"
      },
      "message": "Cache the most-recently used timezone for mktime_tz and localtime_tz.\n\nNormally, the C library implicitly caches your timezone by virtue\nof the fact that the prehistoric API assumes a single timezone for\nthe entire process.\n\nThe unfortunate mktime_tz and localtime_tz extensions work around\nthis, but represent timezones as strings to their callers, so code\nthat makes heavy use of these needs a cache to be able to perform\nacceptably until it can hopefully one day be rewritten to use\njava.util.Calendar or icu4c.\n\nBug: 8270865\nChange-Id: I92e3964e86dc33ceac925f819cc5e26ff4203f50\n"
    },
    {
      "commit": "b989c9ceda71f6f75112645b5c45af341275cbab",
      "tree": "125cd5001f161f503700580e142af5e4f7f20d2b",
      "parents": [
        "e05709b1df7dba98c37e83f84dcbd2ad8429bcfc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 16 10:34:33 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 16 10:34:33 2013 -0800"
      },
      "message": "Revert \"DO NOT MERGE Revert \"Add the libcutils localtime_tz and mktime_t extensions to bionic.\"\"\n\nThis reverts commit f4b34b6c3942be273ad7298a40be0d312b183aab.\n"
    },
    {
      "commit": "85819efe8f771759d12ab86f0bd47ede621dbb7d",
      "tree": "b2f39bf6014bbe47db864114cc670981f0dfca98",
      "parents": [
        "df7f24f310ee3ceb1dc9413d59d5a8816eb584ef",
        "f2b3ac9502e08ef53d4eedd7e93ea9a00d185055"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 15:09:29 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 25 15:09:29 2012 -0700"
      },
      "message": "am f2b3ac95: Merge \"Fix recovery: don\\\u0027t assert if there\\\u0027s no tzdata.\"\n\n* commit \u0027f2b3ac9502e08ef53d4eedd7e93ea9a00d185055\u0027:\n  Fix recovery: don\u0027t assert if there\u0027s no tzdata.\n"
    },
    {
      "commit": "49271d89dabae182f5614c0d5fb232dac3c16067",
      "tree": "47a1bb592168d9015caaec999d625196727ceca9",
      "parents": [
        "7b68e3f799d87e84c56687033326924fd8fec84c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 14:38:51 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 14:56:08 2012 -0700"
      },
      "message": "Fix recovery: don\u0027t assert if there\u0027s no tzdata.\n\nChange-Id: I4d808b57c63ec1ccc024da7fd6a65691e0d455c5\n"
    },
    {
      "commit": "008744cedaa7e3be533bbedb51dd986c6dfea987",
      "tree": "ed3f372cfb1e3af8765d607123aee098bddda64d",
      "parents": [
        "417834b17ee00a6b1cd4e816f632c3596f3f51c3",
        "df92635a57e8093d9cbffc38bbf513f3361ee91e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 15:08:38 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 22 15:08:38 2012 -0700"
      },
      "message": "am df92635a: Merge \"Support zone.tab in bionic, and remove the file format version.\"\n\n* commit \u0027df92635a57e8093d9cbffc38bbf513f3361ee91e\u0027:\n  Support zone.tab in bionic, and remove the file format version.\n"
    },
    {
      "commit": "2393535f0d7df55dae3b4fbf5dbcfa7f87192762",
      "tree": "2785a19d597c8c24449de0b225aae3737982bc03",
      "parents": [
        "eb370aa31dd549ad7a7a2044dedab1140a7aeda9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 14:47:58 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 14:47:58 2012 -0700"
      },
      "message": "Support zone.tab in bionic, and remove the file format version.\n\nBug: 7012465\nChange-Id: I6335c91ebadc609fae85bad94db972be7574b6e4\n"
    },
    {
      "commit": "417834b17ee00a6b1cd4e816f632c3596f3f51c3",
      "tree": "44703f1a50b6d38bcb0ca53d422fe81387b849ec",
      "parents": [
        "629a28cdf384d83a4d433de8e1299b01e42cc75e",
        "eb370aa31dd549ad7a7a2044dedab1140a7aeda9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 11:53:22 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 22 11:53:22 2012 -0700"
      },
      "message": "am eb370aa3: Merge \"Make bionic look in /data/misc for tzdata updates.\"\n\n* commit \u0027eb370aa31dd549ad7a7a2044dedab1140a7aeda9\u0027:\n  Make bionic look in /data/misc for tzdata updates.\n"
    },
    {
      "commit": "1c295720343009a7393706f2285a4d026e97eebf",
      "tree": "c8684a0ea3bb68ea0f76c57537e97429987888f3",
      "parents": [
        "dc595d830898e5859bf98d7436af2a777a11f810"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 18:13:15 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 11:34:05 2012 -0700"
      },
      "message": "Make bionic look in /data/misc for tzdata updates.\n\nBug: 7012465\nChange-Id: I4d1018f686f2409600fdb6630732cae33efe8f02\n"
    },
    {
      "commit": "4d71adbc0d12e5153f537f84cce8d9686762e5b9",
      "tree": "f881ce665bbd4e4e8c07f2e84cd6bed471d2aa9d",
      "parents": [
        "79c6a8d2b163e40eb6f19bbf8f59eb85fb7996e6",
        "102250719f8aff443741e54ba5633c7722544620"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 18 13:56:02 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 18 13:56:02 2012 -0700"
      },
      "message": "am 10225071: Merge \"Fixes x86 build.\"\n\n* commit \u0027102250719f8aff443741e54ba5633c7722544620\u0027:\n  Fixes x86 build.\n"
    },
    {
      "commit": "8b95404d001b285220ae7cbef661b0446a02858b",
      "tree": "dec001e83c36b9e39c278975f28868398b863e35",
      "parents": [
        "ca7466d2b8ee6baad86afc82fa18cda4d931b6d3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 18 13:42:59 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 18 13:42:59 2012 -0700"
      },
      "message": "Fixes x86 build.\n\nChange-Id: I0e576784b2224668d58ebea03986d534ee0e43b4\n"
    },
    {
      "commit": "1b315363c22fdf53d77fc83ec0bbada32e73ccc7",
      "tree": "1b9cca13108d197c7cd87c7bca0d7c481ad512a0",
      "parents": [
        "e5c8ced4f95e97b2fadc0c64fbdbeeb023677035",
        "5ae762a393168932602eb7269a7d30a53de1c83c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 18 10:59:27 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 18 10:59:27 2012 -0700"
      },
      "message": "am 5ae762a3: Merge \"Pull bionic\\\u0027s time zone data from the new single \\\u0027tzdata\\\u0027 file.\"\n\n* commit \u00275ae762a393168932602eb7269a7d30a53de1c83c\u0027:\n  Pull bionic\u0027s time zone data from the new single \u0027tzdata\u0027 file.\n"
    },
    {
      "commit": "d23af232688bf6980e4503cda6b12ed739292931",
      "tree": "aa21ca14ec869226e3035b82b0c43746b6788cab",
      "parents": [
        "32ea9fe5783e3cc9756205c0ac46482afc700a3d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 17 16:30:47 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 17 16:30:47 2012 -0700"
      },
      "message": "Pull bionic\u0027s time zone data from the new single \u0027tzdata\u0027 file.\n\nBug: 7012465\nChange-Id: Iec71e448bf7a40af30ca89150b3c336e67a44a43\n"
    },
    {
      "commit": "f4b34b6c3942be273ad7298a40be0d312b183aab",
      "tree": "b8af5b4cc52763f738afc5d3665696968e96d4a5",
      "parents": [
        "6c0e373d38a9cb424bd6d9c4d5d6168960846aa5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 24 10:13:12 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 24 10:13:12 2012 -0700"
      },
      "message": "DO NOT MERGE Revert \"Add the libcutils localtime_tz and mktime_t extensions to bionic.\"\n\nThis reverts commit 3a936a4980046a7eeb8d53a3296058d8f3a1f770.\n\nWe don\u0027t want this in jb-mr1.\n"
    },
    {
      "commit": "3a936a4980046a7eeb8d53a3296058d8f3a1f770",
      "tree": "774b22cc48683ad5044c4d8046e8ea4679da2f13",
      "parents": [
        "59726beda5bec7e3db9d0c403a0ef11d0a7f182f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 11 11:15:53 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 11 11:15:53 2012 -0700"
      },
      "message": "Add the libcutils localtime_tz and mktime_t extensions to bionic.\n\nBug: 7012465\nChange-Id: Ib66f061e29199ba134545111dc79f9b50c8f4a21\n"
    },
    {
      "commit": "6481b91520150e9664a3c4abc5d2aebdce422f93",
      "tree": "8fadb7aadcc6002a7053da60d50b49704423a5f9",
      "parents": [
        "23d24394e72715ddf580726655c8ba3fbcf11bfe"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Dec 06 12:23:16 2010 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Dec 06 12:25:52 2010 +0100"
      },
      "message": "\u003ctime.h\u003e: Add timegm(), timelocal() and others.\n\nAdd timegm(), timelocal(), time2posix() and posix2time() to the\nC library.\n\nChange-Id: I34d5771ed83dd994870a5ca58a511d01898b1ffb\n"
    },
    {
      "commit": "50ace4fec5e8cb5afcbc656a4556fa528adfd760",
      "tree": "04647e039a457f69ba48a8301bebdd605fda7fca",
      "parents": [
        "6a9b888d7c4b246f6f66360789c72b754ff85021"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 16 16:36:41 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jun 22 17:51:41 2010 -0700"
      },
      "message": "Remove compiler warnings when building Bionic.\n\nAlso add missing declarations to misc. functions.\nFix clearerr() implementation (previous was broken).\nHandle feature test macros like _POSIX_C_SOURCE properly.\n\nChange-Id: Icdc973a6b9d550a166fc2545f727ea837fe800c4\n"
    },
    {
      "commit": "2093d350be21ff086f9e145404877941b9a42c5c",
      "tree": "7fcb6a68bb996c3c62d0dfdf54a08b8e50adb970",
      "parents": [
        "b4423ff7dfd8c97688cbf87ba8ce22f5b54fa89c"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Sep 09 17:41:59 2009 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Sep 09 17:45:00 2009 -0700"
      },
      "message": "Fix an infinite loop in time2sub.\n\nThe problem is that time_t is signed, and the original code relied on the\nfact that (X + c \u003c X) in case of overflow for c \u003e\u003d 0. Unfortunately, this\ncondition is only guaranteed by the standard for unsigned arithmetic, and\nthe gcc 4.4.0 optimizer did completely remove the corresponding test from\nthe code. This resulted in a missing boundary check, and an infinite loop.\n\nThe problem is solved by testing explicitely for TIME_T_MIN and TIME_T_MAX\nin the loop that uses this.\n\nAlso fix increment_overflow and long_increment_overflow which were buggy\nfor exactly the same reasons.\n\nNote: a similar fix is needed for system/core/libcutils\n"
    },
    {
      "commit": "edbe7fc97bab7ff0684053d1be564330689bf3ad",
      "tree": "271db0992a091d68f17f073ba9573c4698f97ce1",
      "parents": [
        "78bf5fc677a2d25d50598b01781eafacdb5e6afe"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 18 22:20:24 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 18 22:20:24 2009 -0700"
      },
      "message": "auto import //branches/master/...@140412\n"
    },
    {
      "commit": "1dc9e472e19acfe6dc7f41e429236e7eef7ceda1",
      "tree": "3be0c520fae17689bbf5584e1136fb820caef26f",
      "parents": [
        "1767f908af327fa388b1c66883760ad851267013"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "1767f908af327fa388b1c66883760ad851267013",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "a799b53f10e5a6fd51fef4436cfb7ec99836a516"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349",
      "tree": "defd1cc07d16ad2f3b21154114e092d11c94c5bb",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
