)]}'
{
  "log": [
    {
      "commit": "c4351c791052ad529a4e83c600b1aa6e6420ea86",
      "tree": "cdc534868eb58ea980bcca2fbc8e04b68fd9936c",
      "parents": [
        "583fc12c3dbe09e3a9b759b9466c505b006e6a39"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Feb 22 14:46:32 2010 -0800"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Feb 22 15:30:33 2010 -0800"
      },
      "message": "refactor applypatch and friends\n\nChange the applypatch function to take meaningful arguments instead of\nargc and argv.  Move all the parsing of arguments into main.c (for the\nstandalone binary) and into install.c (for the updater function).\napplypatch() takes patches as Value objects, so we can pass in blobs\nextracted from the package without ever writing them to temp files.\n\nThe patching code is changed to read the patch from memory instead of\na file.\n\nA bunch of compiler warnings (mostly about signed vs unsigned types)\nare fixed.\n\nSupport for the IMGDIFF1 format is dropped.  (We\u0027ve been generating\nIMGDIFF2 packages for some time now.)\n\nChange-Id: I217563c500012750f27110db821928a06211323f\n"
    },
    {
      "commit": "d9c9d10d9da76f067d3955bea71f7bb39e859fa5",
      "tree": "1e49a3a616c3147f871e79b1b15e2b2a63379cc1",
      "parents": [
        "8edb00c990e563e6f91b278a212f2edf877cf763"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri Jun 12 12:24:39 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri Jun 12 14:05:03 2009 -0700"
      },
      "message": "fixes to edify and updater script\n\nA few more changes to edify:\n\n  - fix write_raw_image(); my last change neglected to close the write\n    context, so the written image was corrupt.\n\n  - each expression tracks the span of the source code from which it\n    was compiled, so that assert()\u0027s error message can include the\n    source of the expression that failed.\n\n  - the \u0027cookie\u0027 argument to each Function is replaced with a State\n    object, which contains the cookie, the source script (for use with\n    the above spans), and the current error message (replacing the\n    global variables that were used for this purpose).\n\n  - in the recovery image, a new command \"ui_print\" can be sent back\n    through the command pipe to cause text to appear on the screen.\n    Add a new ui_print() function to print things from scripts.\n    Rename existing \"print\" function to \"stdout\".\n"
    }
  ]
}
