)]}'
{
  "log": [
    {
      "commit": "6aece33b3f3af6a161e326af36bc894427fcf5ad",
      "tree": "b164457ed1f664a0d195f30933b70386687a0887",
      "parents": [
        "aa062531aa3e740b6cf7d3690fd5310e7fdf03f2"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Feb 01 14:40:12 2010 -0800"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Feb 01 14:40:12 2010 -0800"
      },
      "message": "add a one-argument version of package_extract_file\n\nAdd a version of package_extract_file that returns the file data as\nits return value (to be consumed by some other edify function that\nexpects to receive a bunch of binary data as an argument).  Lets us\navoid having two copies of a big file in memory (extracting it into\n/tmp, which is a ramdisk, and then having something load it into\nmemory) when doing things like radio updates.\n\nChange-Id: Ie26ece5fbae457eb0ddcd8a13d74d78a769fbc70\n"
    },
    {
      "commit": "1c4ceae38f3fd7eb1e451d430acb5d99f257b0f9",
      "tree": "5dbf0392571a64b4afbe0ba73655c889f650eb75",
      "parents": [
        "683c4628039a8cb6dad1a086fae23a7d71438414"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri May 08 09:43:28 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri May 08 09:43:28 2009 -0700"
      },
      "message": "undo temporary alignment hack\n\nRemove the memory alignment that mysteriously made OTA installs work,\nin anticipation of a kernel that fixes the actual problem.  Handle\nEINTR properly.\n"
    },
    {
      "commit": "683c4628039a8cb6dad1a086fae23a7d71438414",
      "tree": "aacd5abd9b128d786f651b2dfb2a5eb5400c5e43",
      "parents": [
        "596271fa71d79e3eec03c7cf6ac76cb026dd8578"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue May 05 17:50:21 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed May 06 08:40:28 2009 -0700"
      },
      "message": "align data passed to write() on 32k boundaries\n\nIn donut, OTA installation often encounters the write() system call\ndoing short writes -- which is legal but unexpected -- or failing with\nENOSPC when plenty of space is available.  Passing aligned memory\nbuffers to write() appears to prevent (or at least reduce the\nfrequency) of these problems.  b/1833052 has been filed to look at the\nunderlying problem, but this change aligns buffers we use with write()\nso we can OTA for now (or see if this problem still occurs).\n"
    },
    {
      "commit": "c24a8e688a6312764254beac2b2520bb0c5e998d",
      "tree": "7df23711566b358047301d8413ee399105546e8b",
      "parents": [
        "ffb48f64fec674c6dd923eb8b1eb3f743e05a8ba"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:42 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:42 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "ffb48f64fec674c6dd923eb8b1eb3f743e05a8ba",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "d4ae69739ebb67374d62229829df07bf2de85103"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:14 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:14 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "23580ca27a0a8109312fdd36cc363ad1f4719889",
      "tree": "0bb90eaa72f8df110162499f756b5cbfb7d49235",
      "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"
    }
  ]
}
