)]}'
{
  "log": [
    {
      "commit": "512536a54a1a211a9f582e76cbf12850dc7d5466",
      "tree": "724012f5ea1a3053adecb512baf342490bb94d02",
      "parents": [
        "21854ccdb250e6e81311b4317934e8c953b252a8"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Feb 17 16:11:44 2010 -0800"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Feb 18 14:22:12 2010 -0800"
      },
      "message": "relocate applypatch; add type system and new functions to edify\n\n- Move applypatch to this package (from build).\n\n- Add a rudimentary type system to edify:  instead of just returning a\n  char*, functions now return a Value*, which is a struct that can\n  carry different types of value (currently just STRING and BLOB).\n  Convert all functions to this new scheme.\n\n- Change the one-argument form of package_extract_file to return a\n  Value of the new BLOB type.\n\n- Add read_file() to load a local file and return a blob, and\n  sha1_check() to test a blob (or string) against a set of possible\n  sha1s.  read_file() uses the file-loading code from applypatch so it\n  can read MTD partitions as well.\n\nThis is the start of better integration between applypatch and the\nrest of edify.\n\nb/2361316 - VZW Issue PP628: Continuous reset to Droid logo:\n            framework-res.apk update failed (CR LIBtt59130)\n\nChange-Id: Ibd038074749a4d515de1f115c498c6c589ee91e5\n"
    }
  ]
}
