)]}'
{
  "log": [
    {
      "commit": "03eabfe65e1e2c36f4d26c78a730fa19a3bdada3",
      "tree": "b965ea27e54b0833639227c619f6e35647c92510",
      "parents": [
        "0353195f344666256dba474a15c9ba22cf0cccc9"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu May 28 15:54:03 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jun 02 23:27:44 2009 +0200"
      },
      "message": "Fix the C library initialization to avoid calling static C++ constructors twice.\n\nThe problem was due to the fact that, in the case of dynamic executables,\nthe dynamic linker calls the DT_PREINIT_ARRAY, DT_INIT and DT_INIT_ARRAY\nconstructors when loading shared libraries and dynamic executables,\n*before* calling the executable\u0027s entry point (i.e. arch-$ARCH/bionic/crtbegin_dynamic.c)\nwhich in turns call __libc_init() in libc.so, as defined by bionic/libc_init_dynamic.c\n\nThe latter did call these constructors array again, mistakenly.\n\nThe patch also updates the documentation of many related functions.\n\nAlso adds a new section to linker/README.TXT explaining restrictions on\nC library usage.\n\nThe patch has been tested on a Dream for stability issues with\nproprietary blobs:\n\n- H264 decoding works\n- Camera + Video recording works\n- GPS works\n- Sensors work\n\nThe tests in system/extra/tests/bionic/libc/common/test_static_cpp_mutex.cpp has been\nrun and shows the static C++ constructor being called only once.\n"
    },
    {
      "commit": "49e55332784b82f7112ee7c1ea3c176c9dc32d7a",
      "tree": "1121d44ca93d523efffb50a140b323e025b0b03f",
      "parents": [
        "ca122b0e34df0e8c485be0d3ab1b80f728b76276"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed May 27 10:52:37 2009 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed May 27 20:16:19 2009 -0700"
      },
      "message": "libc: Add an intermediate version of the static libc without malloc\n\nFor now, this will only used by the dynamic loader to ensure that\nmalloc and friends are never called.\n\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "ca122b0e34df0e8c485be0d3ab1b80f728b76276",
      "tree": "c017fc67faa0758cc1bf664dda864b3c37f0ef21",
      "parents": [
        "cdb68bf8ce26448cfe173d86f1c074e167c3420f"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed May 27 10:52:37 2009 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed May 27 20:16:19 2009 -0700"
      },
      "message": "libc: Cleanup the libc makefile.\n\nRemoves a lot of redundant code, and reorganizes the file. We first\nsetup all the comomn variables we may need, and then define the\nactual libraries that need to be generated.\n\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "cdb68bf8ce26448cfe173d86f1c074e167c3420f",
      "tree": "1b726243e78842727d932bd197010441589232fc",
      "parents": [
        "5c106fcaa5b9d0a3ebeb2e8cdca589129d6a7ebd",
        "2735b33519595da5d51b79757ccce730021a9228"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 27 03:29:35 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 27 03:29:35 2009 -0700"
      },
      "message": "Merge change 2470 into donut\n\n* changes:\n  Fix getservent() so that it returns s_port in network byte order. Also add a new document detailing known issues in the C library.\n"
    },
    {
      "commit": "5c106fcaa5b9d0a3ebeb2e8cdca589129d6a7ebd",
      "tree": "ba92c6a96c85fa56dd5201318266db0bf161fa09",
      "parents": [
        "94a144eabd1c7477e77e81e83aa04d43c8a79791",
        "0ba91ed3ca9e7340a2c55303034c3378967e2327"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 27 01:48:26 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 27 01:48:26 2009 -0700"
      },
      "message": "Merge change 1852 into donut\n\n* changes:\n  Fix __eabi_atexit() implementation, as well as a bug in the BSD-originated __cxa_finalize() implementation This patch uses \"#if ANDROID\" instead of \"#if 1\" in the __cxa_finalize() fix\n"
    },
    {
      "commit": "94a144eabd1c7477e77e81e83aa04d43c8a79791",
      "tree": "ff9f894e0981512e88fdd7f97354a2a3688d48b9",
      "parents": [
        "1c8e10945eb1ab1352f73c7fb026b99397a8ca70"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Apr 30 12:29:52 2009 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue May 26 17:06:24 2009 -0700"
      },
      "message": "add msm_camera.h header and .gitignore file to bionic\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "1c8e10945eb1ab1352f73c7fb026b99397a8ca70",
      "tree": "7607fbff6a8a0de0ae38694b5b12f786fd4e406a",
      "parents": [
        "8215679b355efe3829bab571bd566dc818ea4ccc"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed May 20 16:51:12 2009 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue May 26 17:06:21 2009 -0700"
      },
      "message": "update msm_adsp.h header\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "2735b33519595da5d51b79757ccce730021a9228",
      "tree": "7839125a9beb3a38e33950d22b5495a3ab66c19d",
      "parents": [
        "8215679b355efe3829bab571bd566dc818ea4ccc"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue May 26 23:54:37 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed May 27 00:01:11 2009 +0200"
      },
      "message": "Fix getservent() so that it returns s_port in network byte order.\nAlso add a new document detailing known issues in the C library.\n"
    },
    {
      "commit": "e5446feb21a991426fb683d077a1a8ca5831ac0f",
      "tree": "d450c459c5cd3de7b2a9cdc7c0e42d5190a3813f",
      "parents": [
        "8169573c8744ee3a484ea74bd5e06a8a4f708e37"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed May 20 13:00:10 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed May 20 13:00:10 2009 +0200"
      },
      "message": "Add \u003clinux/ipsec.h\u003e and \u003clinux/if_pppolac.h\u003e for VPN support.\n\nAlso update tools/update_all.py to not use perforce add/edit/delete commands automatically now that we\u0027re using git\n"
    },
    {
      "commit": "0ba91ed3ca9e7340a2c55303034c3378967e2327",
      "tree": "a0d9e37c871decea29efca95bd0b6c292b4bfa93",
      "parents": [
        "8169573c8744ee3a484ea74bd5e06a8a4f708e37"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed May 20 11:42:52 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed May 20 11:42:52 2009 +0200"
      },
      "message": "Fix __eabi_atexit() implementation, as well as a bug in the BSD-originated __cxa_finalize() implementation\nThis patch uses \"#if ANDROID\" instead of \"#if 1\" in the __cxa_finalize() fix\n"
    },
    {
      "commit": "d386afcc41e92c96778d9b1a498199f48fa2d4aa",
      "tree": "899fb5159aa103e66597c9b468db4b5cddddbccc",
      "parents": [
        "3e16f84fcad103c97a2df4a58948835277043569"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri May 15 02:11:12 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri May 15 02:11:12 2009 +0200"
      },
      "message": "revert to previous implementation of __aeabi_atexit() since the new one seems to crash a static ICU String destructor.\nI don\u0027t have the time to investigate why right now, so a revert is preferred. Damn...\n"
    },
    {
      "commit": "3e16f84fcad103c97a2df4a58948835277043569",
      "tree": "e959184f911b2d3cf6aa2b0d183179ea13996188",
      "parents": [
        "d1b40d8c69dfca94185ea9231f6cb16f70c02e39"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu May 14 14:25:26 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu May 14 14:25:26 2009 +0200"
      },
      "message": "Fix __aeabi_atexit to call __cxa_atexit properly. This function is defined by the C++ ABI for ARM document.\n"
    },
    {
      "commit": "5e563700380eade647f347669ea61dbb0ede9814",
      "tree": "739599d59b328c4f0880196f0d57f0d7c7f3a0f0",
      "parents": [
        "85a01ffba337b123436f57eba4daae38c7c90d1e"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue May 05 15:50:24 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue May 05 15:50:24 2009 +0200"
      },
      "message": "change getaddrinfo() implementation to match GLibc.\n\nthe issue is that the BSD implementation doesn\u0027t accept a call like:\n\n  getaddrinfo(SERVER_NAME, \"9999\", NULL, \u0026res);\n\nbecause if will reject a numerical string in the second parameter if no hints are explicitely\nprovided. This technically doesn\u0027t violate POSIX but might make porting Linux software a bit\ndifficult. For more details see:\n\nhttp://groups.google.com/group/android-ndk/browse_thread/thread/818ab9c53f24c87\n\nalso comment debugging printf() calls which shouldn\u0027t be there.\n"
    },
    {
      "commit": "85a01ffba337b123436f57eba4daae38c7c90d1e",
      "tree": "a6dec2c8e71c0199a8a4a6bad392ffc42e179c62",
      "parents": [
        "ba52b3092f361580a5dea7ab8fbe2a227b55ee43",
        "aeae1f5b6c6cf22c2854e07f11555591c5430607"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 01 14:28:28 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 01 14:28:28 2009 -0700"
      },
      "message": "Merge change 57 into donut\n\n* changes:\n  Add the domain search list for VPN connection.   The current solution is to read the net.dns.search property, and expand the list during the resolve initialization. In the future, we could implement search list per process.\n"
    },
    {
      "commit": "d2c9dcc9265e66f6432ec39dcc7378b944449e60",
      "tree": "5813f5bf0b7392f2b5d852240b455fd311df5fef",
      "parents": [
        "61663573dd7de5ed6799af7f3df1940add84718b"
      ],
      "author": {
        "name": "Dave Bort",
        "email": "dbort@android.com",
        "time": "Thu Apr 23 15:50:03 2009 -0700"
      },
      "committer": {
        "name": "Dave Bort",
        "email": "dbort@android.com",
        "time": "Fri Apr 24 14:13:53 2009 -0700"
      },
      "message": "libc: Replace a reference to TARGET_BUILD_TYPE with DEBUG_BIONIC_LIBC\n\nWe\u0027re soon going to stop using TARGET_BUILD_TYPE\u003d\u003ddebug to debug\nnative modules.\n\nSigned-off-by: Dave Bort \u003cdbort@android.com\u003e\n"
    },
    {
      "commit": "aeae1f5b6c6cf22c2854e07f11555591c5430607",
      "tree": "e11d62b5e4a567c87357bfc952653c5c52658be2",
      "parents": [
        "00a18f62a7c97299cea017578ec7ec179215492b"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Apr 09 18:09:50 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Mon Apr 13 10:41:17 2009 +0800"
      },
      "message": "Add the domain search list for VPN connection.\n  The current solution is to read the net.dns.search property,\nand expand the list during the resolve initialization. In the\nfuture, we could implement search list per process.\n\nUpdate: refine the code accordingly.\n\nUpdate: remove unnecessary code.\n\nUpdate: remove the unused variable.\n"
    },
    {
      "commit": "a43b482c5415c0bdeb3ac47441e966ee1f071365",
      "tree": "8ffe33d3f9b0726a680d664d86660096ab115b24",
      "parents": [
        "5e12d7ec70472659623d2e4552a670d8877f2423"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "",
        "time": "Fri Mar 27 15:40:01 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Mar 27 15:40:01 2009 -0700"
      },
      "message": "AI 143161: am: CL 142857 Add some bluring to the animation. This requires a new kernel which will be checked-in later, at which point the blur effect will automatically be enabled.\n  Original author: mathias\n  Merged from: //branches/cupcake/...\n\nAutomated import of CL 143161\n"
    },
    {
      "commit": "78bf5fc677a2d25d50598b01781eafacdb5e6afe",
      "tree": "917ef2a14fd09a01a799772aaba5a599c7f3509b",
      "parents": [
        "1dc9e472e19acfe6dc7f41e429236e7eef7ceda1"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 18 17:39:42 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 18 17:39:42 2009 -0700"
      },
      "message": "auto import from //branches/cupcake_rel/...@140373\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": "a799b53f10e5a6fd51fef4436cfb7ec99836a516",
      "tree": "9f06bfedddae069d0388739f5f2779472da5dc7f",
      "parents": [
        "fe5745033a4f397c62a4e00efd9257ac9f83755c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 14:03:51 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 14:03:51 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@132589\n"
    },
    {
      "commit": "fe5745033a4f397c62a4e00efd9257ac9f83755c",
      "tree": "3be0c520fae17689bbf5584e1136fb820caef26f",
      "parents": [
        "7d9dcdc82a871926e5e3a27143908fa3f4181b5f"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 02 22:54:14 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 02 22:54:14 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@137055\n"
    },
    {
      "commit": "7d9dcdc82a871926e5e3a27143908fa3f4181b5f",
      "tree": "9f06bfedddae069d0388739f5f2779472da5dc7f",
      "parents": [
        "6f04a0f4c72acff80dad04828cb69ef67fa609d1"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 20 07:38:28 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 20 07:38:28 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@132569\n"
    },
    {
      "commit": "6f04a0f4c72acff80dad04828cb69ef67fa609d1",
      "tree": "915db7d93cb742f72b5d3819e69f48cb29c40a15",
      "parents": [
        "2489551343aa89fc539f369f7689c941b78c08d1"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Feb 19 10:57:29 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Feb 19 10:57:29 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@132276\n"
    },
    {
      "commit": "2489551343aa89fc539f369f7689c941b78c08d1",
      "tree": "877da859f88254d7f2ba709801bd57fd00f77dc5",
      "parents": [
        "9f65adf2ba3bb15feb8b7a7b3eef788df3fd270e"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 13 12:57:48 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 13 12:57:48 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@131421\n"
    },
    {
      "commit": "9f65adf2ba3bb15feb8b7a7b3eef788df3fd270e",
      "tree": "c06064fc9022ef63a40f83a91292103784f49780",
      "parents": [
        "d37527501c85edcb3a6a7c8a0b6297d52d434897"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:43:56 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:43:56 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@130745\n"
    },
    {
      "commit": "d37527501c85edcb3a6a7c8a0b6297d52d434897",
      "tree": "f005d945ce90569b8e63cf42294ab42dddab52c2",
      "parents": [
        "e5cc1f386b167b9f7bfdebc7219e89aa9b71e4b2"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 20 14:03:55 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 20 14:03:55 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@127101\n"
    },
    {
      "commit": "e5cc1f386b167b9f7bfdebc7219e89aa9b71e4b2",
      "tree": "2cbd43daa6744ed80e833528f8cbfc0c485e5253",
      "parents": [
        "6d6c82c7a0a6b9a89f61b61c66f9b90d9c7177dc"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jan 15 16:12:07 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jan 15 16:12:07 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@126645\n"
    },
    {
      "commit": "6d6c82c7a0a6b9a89f61b61c66f9b90d9c7177dc",
      "tree": "8de86895228b63728c3a134c8b1fcab003db467d",
      "parents": [
        "4e468ed2eb86a2406e14f1eca82072ee501d05fd"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:50:54 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:50:54 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@125939\n"
    },
    {
      "commit": "4e468ed2eb86a2406e14f1eca82072ee501d05fd",
      "tree": "4e05b3c66eef86531e464521a3bf96a1864d4bf5",
      "parents": [
        "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:03:48 2008 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:03:48 2008 -0800"
      },
      "message": "Code drop from //branches/cupcake/...@124589\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"
    }
  ]
}
