)]}'
{
  "log": [
    {
      "commit": "5b81b918173b4bf446c1a85240c094e4dd77231f",
      "tree": "dd4cab2ff2183ab7a13833f343870d57baaa1250",
      "parents": [
        "af00228b705b53165c132a22b30c2d6cbb9acd13"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Oct 07 11:03:32 2010 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Oct 07 11:03:32 2010 +0200"
      },
      "message": "libc: optimize memmove() with memcpy() if possible.\n\nChange-Id: I90e578fdc82e427caee8fa4157ce3f8c6c99926d\n"
    },
    {
      "commit": "af00228b705b53165c132a22b30c2d6cbb9acd13",
      "tree": "b66b8b3ce14c1731e6bebad7fcdc2bf019563d71",
      "parents": [
        "defd162212de3789d2268a1f3339c2a6097fa825"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Sep 28 10:24:20 2010 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Sep 28 10:24:20 2010 -0700"
      },
      "message": "Revert \"libc: memmove(): non-overlapping block optim.\"\n\nThis reverts commit 80fba9a2fe4eacaabee99cf0bbead872c2792231,\nwhich caused the system to not boot anymore, aborting with:\n\"java.lang.RuntimeException: Missing static main on com.android.server.SystemServer\".\n\nChange-Id: I745e0a23c728cccf5f95a3c7642d544478a4e57e\n"
    },
    {
      "commit": "80fba9a2fe4eacaabee99cf0bbead872c2792231",
      "tree": "35cf24d62149365bdad0994d837654e3d05399d9",
      "parents": [
        "b9e49ad56e5776ace7c6eab2e997d5b7acb16792"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Sun Sep 26 22:40:02 2010 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Sep 27 17:34:41 2010 +0200"
      },
      "message": "libc: memmove(): non-overlapping block optim.\n\nChange-Id: I5652f4f97ca59d95176443fc27c737ef76258183\n"
    },
    {
      "commit": "e44cb1a35c4bf3f30e2b9e3961c57b7ca6fa7849",
      "tree": "a505afada0c66179cb978fd3c7694a50e67e3486",
      "parents": [
        "6a51defa034a1c033ed01f7de444c0a4fc615249"
      ],
      "author": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Tue Aug 31 15:19:38 2010 -0700"
      },
      "committer": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Tue Aug 31 15:19:38 2010 -0700"
      },
      "message": "Fix return value.\n\nReturn a valid pointer (not NULL) when the character \"c\" is at the end of \"src\".\n\nChange-Id: Iab0b677943f2c8a9fbb255c44689f5d6dc3535d7\nExample:\n  memccpy(dest, \"xzy\", \u0027y\u0027, 3) should return dest+3 rather than null.\n"
    },
    {
      "commit": "d791da79432064bc954fedf8d4e4394aaafefe75",
      "tree": "6d731e33e6d3f2ff28feff74ef07cc680aee886e",
      "parents": [
        "0be7eda75a14815aaa3e5cd5d5d4e5d25dc35d1c",
        "aba3ee7d322f30735433e2e6ae98fa3d849a1c7e"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Mon May 10 14:52:02 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Mon May 10 14:52:02 2010 -0700"
      },
      "message": "Merge \"string: tidy up strndup()\""
    },
    {
      "commit": "8ab5b02b5f58d9b2f050a98b189284a3d6263d7b",
      "tree": "2f92218f958f60550990b0649011c93bf578b90a",
      "parents": [
        "87ae0da81716d61f556b1ee456a6764a1f635e55",
        "bdc6e3c83f70db35603260d5c1baa8097cb765fe"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Mon Mar 29 15:05:47 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Mon Mar 29 15:05:47 2010 -0700"
      },
      "message": "Merge changes Ibdc6e3c8,I9bcb91a2\n\n* changes:\n  Correct generic memset implementation\n  Generic memcpy should define MEMCOPY before including bcopy.c\n"
    },
    {
      "commit": "bdc6e3c83f70db35603260d5c1baa8097cb765fe",
      "tree": "5876d8cb021bbd72508dea2c3c5426512011f685",
      "parents": [
        "9bcb91a212ab4b9bd5892f4cf3adda6a549b8fbc"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris@mips.com",
        "time": "Fri Feb 05 15:13:55 2010 -0800"
      },
      "committer": {
        "name": "Dan Hazon",
        "email": "dan@mips.com",
        "time": "Fri Feb 05 15:13:55 2010 -0800"
      },
      "message": "Correct generic memset implementation\n\nSigned-off-by: Chris Dearman \u003cchris@mips.com\u003e\n"
    },
    {
      "commit": "9bcb91a212ab4b9bd5892f4cf3adda6a549b8fbc",
      "tree": "cab2fee8e6cab072acece72b269b7a1349a3209b",
      "parents": [
        "95604529ec25fe7923ba88312c590f38aa5e3d9e"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris@mips.com",
        "time": "Fri Feb 05 15:13:55 2010 -0800"
      },
      "committer": {
        "name": "Dan Hazon",
        "email": "dan@mips.com",
        "time": "Fri Feb 05 15:13:55 2010 -0800"
      },
      "message": "Generic memcpy should define MEMCOPY before including bcopy.c\n\nSigned-off-by: Chris Dearman \u003cchris@mips.com\u003e\n"
    },
    {
      "commit": "aba3ee7d322f30735433e2e6ae98fa3d849a1c7e",
      "tree": "6eac980a5bc405285906c6129252f082de8bae10",
      "parents": [
        "30a419afc3cdb641e350c7cfde753877675958e0"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Jan 30 22:29:59 2010 -0200"
      },
      "committer": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Jan 30 22:29:59 2010 -0200"
      },
      "message": "string: tidy up strndup()\n\nIt decreases code size:\n   text    data     bss     dec     hex filename\n    161       0       0     161      a1 strndup-BEFORE.o\n    153       0       0     153      99 strndup-AFTER.o\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n"
    },
    {
      "commit": "30a419afc3cdb641e350c7cfde753877675958e0",
      "tree": "b4484c80c91c40584edcba2625c196b36a3bae0c",
      "parents": [
        "8f92500fa93d174d077af28d8af3e3cb732e0aff"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Jan 30 22:28:49 2010 -0200"
      },
      "committer": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Jan 30 22:28:49 2010 -0200"
      },
      "message": "improve readability of string: fix indentation and remove trailing spaces\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\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": "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": "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"
    }
  ]
}
