)]}'
{
  "log": [
    {
      "commit": "4d8a1179833237be6871f7663c77cc3c50b25ff6",
      "tree": "63c2cade2edfc0dac4b0a22b9cd59d4627c7e4ee",
      "parents": [
        "9ae050c8f7a38985a026f0c58b73addd034b739d",
        "867f8b454d754ff496b66527407753c451f54277"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Sep 14 21:34:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 14 21:34:03 2010 -0700"
      },
      "message": "am 867f8b45: unmount cache before paving it over with the radio/hboot image\n\nMerge commit \u0027867f8b454d754ff496b66527407753c451f54277\u0027 into gingerbread-plus-aosp\n\n* commit \u0027867f8b454d754ff496b66527407753c451f54277\u0027:\n  unmount cache before paving it over with the radio/hboot image\n"
    },
    {
      "commit": "867f8b454d754ff496b66527407753c451f54277",
      "tree": "63c2cade2edfc0dac4b0a22b9cd59d4627c7e4ee",
      "parents": [
        "dc0f94be051feef01f0cd62bf9facdef052178ad"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Sep 14 18:10:18 2010 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Sep 14 21:27:37 2010 -0700"
      },
      "message": "unmount cache before paving it over with the radio/hboot image\n\nTry to unmount the cache.  If that fails, try to remount it read-only\nand sync (which isn\u0027t as safe but is better than leaving it r/w).  If\nwe can\u0027t even do that, abort the firmware installation.\n\nChange-Id: I2ebb1ebf3d1f58270133c58b0e9337fb33d78dfa\n"
    },
    {
      "commit": "9ae050c8f7a38985a026f0c58b73addd034b739d",
      "tree": "6641ad77cfea27b6a82573226f0ca5115f4fa9ef",
      "parents": [
        "21856f36acab77f986436ec26bca73edbf3ddfc7",
        "dc0f94be051feef01f0cd62bf9facdef052178ad"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Sep 14 15:43:17 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 14 15:43:17 2010 -0700"
      },
      "message": "am dc0f94be: fix verification of radio; save radio version read back\n\nMerge commit \u0027dc0f94be051feef01f0cd62bf9facdef052178ad\u0027 into gingerbread-plus-aosp\n\n* commit \u0027dc0f94be051feef01f0cd62bf9facdef052178ad\u0027:\n  fix verification of radio; save radio version read back\n"
    },
    {
      "commit": "dc0f94be051feef01f0cd62bf9facdef052178ad",
      "tree": "6641ad77cfea27b6a82573226f0ca5115f4fa9ef",
      "parents": [
        "06083e44b28162761d718da52dc1662cb6e5ee35"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Sep 14 14:27:26 2010 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Sep 14 14:27:26 2010 -0700"
      },
      "message": "fix verification of radio; save radio version read back\n\nThe image offset is specified as a raw offset (ignoring any bad\nblocks), so we can\u0027t seek there by reading that many bytes.\n\nSave the radio data we read and checksummed to the /tmp so we can see\nwhat was read if the checksum is wrong.\n\nChange-Id: Ie855f67932cdcce7c0f2b6772b9531e729fcf9f0\n"
    },
    {
      "commit": "21856f36acab77f986436ec26bca73edbf3ddfc7",
      "tree": "861ddfec5887458a1d2a48025a68687393e854fd",
      "parents": [
        "b6cc76159b4ec1fa7f0f96b4d4fb093b160d0147",
        "06083e44b28162761d718da52dc1662cb6e5ee35"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Sun Sep 12 14:23:27 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Sep 12 14:23:27 2010 -0700"
      },
      "message": "am 06083e44: read back and verify radio image from cache before installing\n\nMerge commit \u002706083e44b28162761d718da52dc1662cb6e5ee35\u0027 into gingerbread-plus-aosp\n\n* commit \u002706083e44b28162761d718da52dc1662cb6e5ee35\u0027:\n  read back and verify radio image from cache before installing\n"
    },
    {
      "commit": "06083e44b28162761d718da52dc1662cb6e5ee35",
      "tree": "861ddfec5887458a1d2a48025a68687393e854fd",
      "parents": [
        "46d810bf465ffd7c3599fe10fac94e0061f482d7"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Sun Sep 12 13:35:51 2010 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Sun Sep 12 13:35:51 2010 -0700"
      },
      "message": "read back and verify radio image from cache before installing\n\nChange-Id: I13ea32f68766da97a1a8f05674b21ccf03daa149\n"
    },
    {
      "commit": "b6cc76159b4ec1fa7f0f96b4d4fb093b160d0147",
      "tree": "8ad1ae27ac00697934519b72ce6ee89e4b9f0c4b",
      "parents": [
        "d45a081c5e34dbadf50f6994dc925d464c675b63",
        "46d810bf465ffd7c3599fe10fac94e0061f482d7"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Aug 19 07:57:20 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Aug 19 07:57:20 2010 -0700"
      },
      "message": "resolved conflicts for merge of 46d810bf to gingerbread-plus-aosp\n\nChange-Id: I0a5273d2c057c86c8411fb338772249c3e1e8c09\n"
    },
    {
      "commit": "46d810bf465ffd7c3599fe10fac94e0061f482d7",
      "tree": "8ad1ae27ac00697934519b72ce6ee89e4b9f0c4b",
      "parents": [
        "b8030b255bc1a6b18c95d891de85cba144145d18"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Aug 19 07:39:29 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Aug 19 07:43:28 2010 -0700"
      },
      "message": "Delete blob-handling-script-generation-script\n\nIt\u0027s being moved to a non-htc-specific location\n\nChange-Id: I9ca9c89db63e9cf1ccdc09d4978e58f50b7a441a\n"
    },
    {
      "commit": "d45a081c5e34dbadf50f6994dc925d464c675b63",
      "tree": "6050c2c0ef490e9389d0ea9ccc325386ae9d4829",
      "parents": [
        "b8030b255bc1a6b18c95d891de85cba144145d18"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Jun 16 13:46:04 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jun 17 06:52:07 2010 -0700"
      },
      "message": "Update comment - this really nukes the entire source tree\n\nChange-Id: Ieca335423032309fe8c85d2226d423e57d476426\n"
    },
    {
      "commit": "b8030b255bc1a6b18c95d891de85cba144145d18",
      "tree": "ae92af051bb0607efa5e1bdef3eb3ec780ae3aa5",
      "parents": [
        "420c4d905ede5b4f113d73303b74f3a0e6e1eeca"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri May 07 07:45:47 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 11 11:41:31 2010 -0700"
      },
      "message": "Delete unnecessary files when done\n\n.repo is preserved to avoid hitting the server hard the next time\nthe script is run.\n\ndevice/htc/common is preserved to be able to re-launch the script\n\nChange-Id: I336e42df3bcd80e621f45d347a2484fac348279f\n"
    },
    {
      "commit": "420c4d905ede5b4f113d73303b74f3a0e6e1eeca",
      "tree": "3f5afa173950a5271b592fe1e32d6ce776bdbae0",
      "parents": [
        "7d72e78465d11754b864666ad1621c99cc81f1c1"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri May 07 07:44:32 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 11 11:41:31 2010 -0700"
      },
      "message": "Factor the builds into loops\n\nChange-Id: I958a4d1651d4facc3c9ee83f700b338acf1a824a\n"
    },
    {
      "commit": "7d72e78465d11754b864666ad1621c99cc81f1c1",
      "tree": "cdfb3c2a919c5c6ecc67ab2a99d3debb519e78c3",
      "parents": [
        "8e62ecf8a892029b5572931795989db0b0d34e71"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri May 07 07:40:01 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 11 11:41:27 2010 -0700"
      },
      "message": "Put all output files directly in the archive directory\n\nChange-Id: Ifdbd12ef1c8f64eb883f30a90aacb096cb2e4422\n"
    },
    {
      "commit": "8e62ecf8a892029b5572931795989db0b0d34e71",
      "tree": "d9da673efb9c53bf44e391a1875e6c21da253a69",
      "parents": [
        "8b724293d32eac48d745fe4e8f1278e3b476c416"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri May 07 07:29:52 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri May 07 07:29:56 2010 -0700"
      },
      "message": "Delete out/ directory after last build.\n\nThis saves space on-disk, since those files aren\u0027t necessary.\n\nChange-Id: I3d0d6959fc95704d41098325f860c9f55b7e62bf\n"
    },
    {
      "commit": "8b724293d32eac48d745fe4e8f1278e3b476c416",
      "tree": "74c8e069672476841cf1fb3955263b80bc1c546c",
      "parents": [
        "711cb30f723a126f1119d60288c74e058e26717e",
        "bb026f6f6725fbdaaf4b1170e5cf5f00a439bfb4"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri Apr 30 14:29:07 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 30 14:29:07 2010 -0700"
      },
      "message": "am bb026f6f: add bootloader restrictions to OTA metadata\n\nMerge commit \u0027bb026f6f6725fbdaaf4b1170e5cf5f00a439bfb4\u0027 into froyo-plus-aosp\n\n* commit \u0027bb026f6f6725fbdaaf4b1170e5cf5f00a439bfb4\u0027:\n  add bootloader restrictions to OTA metadata\n"
    },
    {
      "commit": "bb026f6f6725fbdaaf4b1170e5cf5f00a439bfb4",
      "tree": "8ad1ae27ac00697934519b72ce6ee89e4b9f0c4b",
      "parents": [
        "d29f32426321107e0b9134132f7e011ddfcef254"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Apr 28 16:07:36 2010 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Apr 28 16:07:36 2010 -0700"
      },
      "message": "add bootloader restrictions to OTA metadata\n\nDoesn\u0027t touch device code.\n\nChange-Id: I8941e5a07dc589514446544a15f17f623101ecca\n"
    },
    {
      "commit": "711cb30f723a126f1119d60288c74e058e26717e",
      "tree": "bd6d0447af9c4cc6761ffbd751d9b154c908ec72",
      "parents": [
        "d29f32426321107e0b9134132f7e011ddfcef254"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Apr 22 13:24:15 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Apr 23 07:04:27 2010 -0700"
      },
      "message": "Blob-handling-script-generator\n\nChange-Id: If1f83a2512c78cf74bc1ff88c8076d7c3154b20d\n"
    },
    {
      "commit": "d29f32426321107e0b9134132f7e011ddfcef254",
      "tree": "00f1c0b597c3b378f54c9c08c1c8f10c3e1127bf",
      "parents": [
        "1737d56f888fec11fc7713598a9adc4a509c02cc"
      ],
      "author": {
        "name": "John Wang",
        "email": "johnwang@google.com",
        "time": "Thu Mar 18 17:51:33 2010 -0700"
      },
      "committer": {
        "name": "John Wang",
        "email": "johnwang@google.com",
        "time": "Thu Mar 18 17:51:33 2010 -0700"
      },
      "message": "Add ecclist config file.\n\nThe ecclist is configured for following countries,\n\n UK(MCC 234, 235), CA(MCC 302), HK(MCC 454), AU(MCC 505), SG(MCC 525),\n\n and US(MCC 310, 311, 312, 313, 314, 315, 316).\n\nChange-Id: Ifb3b27f2f059092e96e348cb1e1cf30c7aab009d\n"
    },
    {
      "commit": "1737d56f888fec11fc7713598a9adc4a509c02cc",
      "tree": "b7b96a81fcc417069063817715829669ba06400f",
      "parents": [
        "e164cc721e108bcf56b8488c009298036d6ef925"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Mar 08 18:04:07 2010 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Mar 08 18:04:07 2010 -0800"
      },
      "message": "Add an empty CleanSpec.mk\n\nChange-Id: I3650416076996bd075c79b98791a5c0ee6f3450f\n"
    },
    {
      "commit": "e164cc721e108bcf56b8488c009298036d6ef925",
      "tree": "1eed6fdd8410a7fe09681a368fe4dcce0396006b",
      "parents": [
        "02c2ea027b41e129a5d6c94f593f963c5abe7367"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Feb 26 16:29:54 2010 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Feb 26 16:29:54 2010 -0800"
      },
      "message": "Fix build\n\nDon\u0027t fail building full OTAs when the radio image is missing\n\nThis fixes \"make dist\" for generic_passion-eng when the\nproprietary files aren\u0027t there\n\nChange-Id: I345bb9e64140b8304923a9d954b796251d1262b0\n"
    },
    {
      "commit": "02c2ea027b41e129a5d6c94f593f963c5abe7367",
      "tree": "2e8fb0b768ccbecb03724cd8f91081695df88701",
      "parents": [
        "e2fa5458921c062ce0ae3df707f0933fbaef7cdd"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Feb 22 14:10:53 2010 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Feb 22 16:25:33 2010 -0800"
      },
      "message": "Use inherit-product-if-exists\n\nThis allows to cleanly use inherit-product instead of\nhaving to use \"-include\" hacks.\n\nChange-Id: I140aab5098ad17d8a2dc53971c2aae0610fc1e2a\n"
    },
    {
      "commit": "e2fa5458921c062ce0ae3df707f0933fbaef7cdd",
      "tree": "791b143f5e9b327a91d7609dc4695f553f351d1d",
      "parents": [
        "7658a43058daa9bf52c015354ff2a2d2863f3187"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Feb 17 18:13:42 2010 -0800"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Feb 18 14:22:55 2010 -0800"
      },
      "message": "HTC firmware update functions now receive blob Values\n\npackage_extract_file() (and the new read_file()) calls now return\nValue objects containing blobs; use them.\n"
    },
    {
      "commit": "7658a43058daa9bf52c015354ff2a2d2863f3187",
      "tree": "16296a7498b1cf9906bda7b2a220b9a57e46ec8e",
      "parents": [
        "ef1953356b258154f5ddefa26a8a05f799f9b31e"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Feb 18 08:54:15 2010 -0800"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Feb 18 08:54:15 2010 -0800"
      },
      "message": "move releasetools.py here from vendor/htc/common\n\nNeeded to build OTA packages for device/htc/... devices.\n"
    },
    {
      "commit": "ef1953356b258154f5ddefa26a8a05f799f9b31e",
      "tree": "5b9de7cba00a2c03a8782d70a6e0091ee640eb56",
      "parents": [
        "9a282a00f5b63c8671933934f756b0e653aa4674"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Feb 17 13:03:32 2010 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Feb 17 16:27:58 2010 -0800"
      },
      "message": "Move open-sourceable passion files\n\nChange-Id: I545475bbd7ee265c2560fae065c4169ae2e8310c\n"
    },
    {
      "commit": "9a282a00f5b63c8671933934f756b0e653aa4674",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [],
      "author": {
        "name": "Nico Sallembien",
        "email": "nsallembien@google.com",
        "time": "Wed Feb 17 10:58:46 2010 -0800"
      },
      "committer": {
        "name": "Nico Sallembien",
        "email": "nsallembien@google.com",
        "time": "Wed Feb 17 10:58:46 2010 -0800"
      },
      "message": "new project, first commit\n"
    }
  ]
}
