)]}'
{
  "log": [
    {
      "commit": "70a21191b545c7c9cc3416c17b3e794c77b2e475",
      "tree": "32bbc3b2c4b5d43b32ec58082b6190d5f4fee2a5",
      "parents": [
        "dc1189f7c82faead502761da70a993d914de29e0"
      ],
      "author": {
        "name": "Ben Chan",
        "email": "benchan@chromium.org",
        "time": "Tue Jan 10 19:56:50 2017 -0800"
      },
      "committer": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Wed May 31 15:56:02 2017 -0700"
      },
      "message": "update_engine: clean up sleep process in SubprocessTest.CancelTest\n\nSubprocessTest.CancelTest terminates a \u0027sh\u0027 process, which is put into\nsleep by executing `sleep 60`. Upon receiving SIGTERM, the \u0027sleep\u0027\nprocess isn\u0027t reaped and thus becomes orphaned. As a remedy, this CL\nmodifies the shell command to trap SIGTERM and kill the \u0027sleep\u0027 process\nupon receiving SIGTERM.\n\nBUG\u003dchromium:678643\nTEST\u003dVerified that no orphaned \u0027sleep\u0027 process is left after running\nSubprocessTest.CancelTest.\n\nReviewed-on: https://chromium-review.googlesource.com/427059\nCommit-Ready: Ben Chan \u003cbenchan@chromium.org\u003e\nTested-by: Ben Chan \u003cbenchan@chromium.org\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n\n(cherry picked from commit efb56850475b27ab9197c6010a3f3910b078cdc2)\n\nChange-Id: I7a94b317b524c6de81e94a1f01c29aeb9b3de85c\n"
    },
    {
      "commit": "dc1189f7c82faead502761da70a993d914de29e0",
      "tree": "56d2caf5d03d8b55e24c3d2803c3ff0ec318e43b",
      "parents": [
        "eecb0a5b696c830e3db5019654141dc58fbef825"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Thu Jun 02 15:43:35 2016 -0700"
      },
      "committer": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Wed May 31 15:56:02 2017 -0700"
      },
      "message": "update_engine: remove deprecated defines\n\nGlibc 2.23 will pop warning like\nThis CL fixes that.\n\nBUG\u003dchromium:616784\nTEST\u003dupate_engine builds with glibc 2.23\n\nReviewed-on: https://chromium-review.googlesource.com/349275\nCommit-Ready: Yunlian Jiang \u003cyunlian@chromium.org\u003e\nTested-by: Yunlian Jiang \u003cyunlian@chromium.org\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n\n(cherry picked from commit a435daa1be828dc8e6001c35bfa17514860f4fcc)\n\nChange-Id: If4e30a699fdfb76e192568fff099e713990f9e47\n"
    },
    {
      "commit": "eecb0a5b696c830e3db5019654141dc58fbef825",
      "tree": "0ca023f5ce1ffafda1aac658dba37bc9f041027d",
      "parents": [
        "558fe6ad38c6c419a135ce1ed1e3d1152f55ff7c"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Fri May 19 15:15:08 2017 -0700"
      },
      "committer": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Wed May 31 15:55:51 2017 -0700"
      },
      "message": "Remove IMGDIFF operation application support.\n\nRemove support for applying IMGDIFF operations as this will be replaced\nwith PUFFIN.\n\nBug: None\nTest: Unittests still build.\nChange-Id: Idd8151a4fc772c70359afdd2da8d4a2f05bbd293\n"
    },
    {
      "commit": "558fe6ad38c6c419a135ce1ed1e3d1152f55ff7c",
      "tree": "e2f45f4008b646aca88c25ffcc6811bea8295f83",
      "parents": [
        "6765a68c5f3963ce986f0bb11951b3af40e3e098"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Fri May 19 13:16:20 2017 -0700"
      },
      "committer": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Wed May 31 15:25:04 2017 -0700"
      },
      "message": "Fix Chrome OS build of update_engine.\n\nFix a typo in image_properties_chromeos.cc, $ifdef out an unused\nconstant in Chrome OS and adds the bspatch library to the Chrome OS\nbuild.\n\nBug: None\nTest: FEATURES\u003dtest emerge-link update_engine\nChange-Id: I483da4b43b5cbd8b7349b0ff42973f97d197ba8e\n"
    },
    {
      "commit": "6765a68c5f3963ce986f0bb11951b3af40e3e098",
      "tree": "21c5772b91cae2bb222e0bea354656457bc239e8",
      "parents": [
        "56db75ded7891f863463def26c938b6eee1b1b6f"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Fri May 19 13:13:54 2017 -0700"
      },
      "committer": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Wed May 31 13:56:11 2017 -0700"
      },
      "message": "Move to use bsdiff/ prefix in includes.\n\nThe bspatch.h headers are now under a \"bsdiff/\" directory.\n\nChange-Id: Ica2935e4163f617d60df1bc0846978b0e1a59f46\n"
    },
    {
      "commit": "56db75ded7891f863463def26c938b6eee1b1b6f",
      "tree": "b97ebe6df6d74b9b583551372d73e8b070cb72b5",
      "parents": [
        "ce7b56980309369aa1f3dcd6a5d3c0107b76412e"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Fri May 19 12:03:41 2017 -0700"
      },
      "committer": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Fri May 19 12:04:33 2017 -0700"
      },
      "message": "Remove call to cpu limiter in Android.\n\nBug: 38449575\nTest: mma\n\nChange-Id: I1f861c960491c2d0d691f50ef0193d17e33c3b79\n"
    },
    {
      "commit": "ce7b56980309369aa1f3dcd6a5d3c0107b76412e",
      "tree": "d3b90129ac7fe75c6fb21f51532c4bdf02fa19d7",
      "parents": [
        "038cdbfa3023c72cc9fe004d5a44e575b5689bc0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 18 16:44:49 2017 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 19 17:44:25 2017 +0000"
      },
      "message": "Include \u003csys/sysmacros.h\u003e for major/minor/makedev.\n\nglibc and bionic are both moving away from having \u003csys/types.h\u003e pull in\n\u003csys/sysmacros.h\u003e.\n\nBug: https://github.com/android-ndk/ndk/issues/398\nTest: builds\nChange-Id: I5c4ae7f9320e671bc154a59cde42dad4dab12f29\n"
    },
    {
      "commit": "038cdbfa3023c72cc9fe004d5a44e575b5689bc0",
      "tree": "02b6dc768a3dcd6645e1af2b85e592c36fa60a7a",
      "parents": [
        "0571c80cfeca6e9887ffc53bee24525d52c742e5"
      ],
      "author": {
        "name": "Tianjie Xu",
        "email": "xunchang@google.com",
        "time": "Mon May 15 14:28:02 2017 -0700"
      },
      "committer": {
        "name": "Tianjie Xu",
        "email": "xunchang@google.com",
        "time": "Thu May 18 22:02:01 2017 +0000"
      },
      "message": "Add missing static libs to support libimgpatch\n\nlibimgpatch requires liblog and libbase.\n\nTest: mma\nChange-Id: Icdc94662e0c2d5037499fc4c6bf90b43bcbf4e4d\n"
    },
    {
      "commit": "0571c80cfeca6e9887ffc53bee24525d52c742e5",
      "tree": "4eab2666a8a81458afd625e1831c0752b53e82c6",
      "parents": [
        "04c2305d79b65a3013e3d5b329f1fcc128874479"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri May 12 14:10:55 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri May 12 14:43:44 2017 -0700"
      },
      "message": "Update for libxz-host -\u003e libxz.\n\nTest: links\nChange-Id: I2aacc135ee57234a8d469c43e95ef764d1b02b7e\n"
    },
    {
      "commit": "04c2305d79b65a3013e3d5b329f1fcc128874479",
      "tree": "34d37d75057876bb79341ca5c6e24fbb697048d3",
      "parents": [
        "5b9b92cc642c243c3729c4014601704a4cfa7fcc"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Apr 12 18:15:30 2017 -0700"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Apr 12 18:19:05 2017 -0700"
      },
      "message": "Ignore source partitions smaller than 4 KiB.\n\nWhen rounding down source partitions to the nearest 4 KiB boundary we\nhit an error condition that checks for empty partitions. This patch\nignores partitions that are less than 4 KiB.\n\nBug: 37266429\nTest: ota_from_target_files -i target_files-3901180.zip target_files-3903096.zip ota.zip\nChange-Id: I165a3f9a9f73044d7520d042727caf1cf63a80c7\n"
    },
    {
      "commit": "5b9b92cc642c243c3729c4014601704a4cfa7fcc",
      "tree": "e4a5c24a31037dee34c3ae0ec3f82ecf54384096",
      "parents": [
        "f530e0eb70719b73e9b8de13ff104c73a220cd24",
        "eb895c900198d4b48b606c2184203ec8d0310764"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Fri Mar 31 02:32:54 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 31 02:32:54 2017 +0000"
      },
      "message": "Switch to fs_mgr_read_fstab(\"/fstab.device\")\nam: eb895c9001\n\nChange-Id: I9cdb5b29c78fef75db7077215e65655cf57ebba8\n"
    },
    {
      "commit": "eb895c900198d4b48b606c2184203ec8d0310764",
      "tree": "e4a5c24a31037dee34c3ae0ec3f82ecf54384096",
      "parents": [
        "4b5da322bdb715c952f2fd5faf55c4bbca6bb057"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Wed Mar 29 15:59:25 2017 +0800"
      },
      "committer": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Wed Mar 29 16:04:05 2017 +0800"
      },
      "message": "Switch to fs_mgr_read_fstab(\"/fstab.device\")\n\nfstab.device is for backward compatibility in legacy devices.\nAs it doesn\u0027t have fstab entries in device tree (for early mount) so we\ncan just use the ordinary fs_mgr_read_fstab().\n\nFor new devices having early mount, it should use\nfs_mgr_read_fstab_default() instead.\n\nBug: 35811655\nTest: adb reboot sideload \u0026\u0026 adb sideload ota.zip\n\nChange-Id: I00b56a39747ab46d0e87da3c79b9f9faf0d1daef\n"
    },
    {
      "commit": "f530e0eb70719b73e9b8de13ff104c73a220cd24",
      "tree": "a9f54c47b5ab45214ddabd70bab21bb9d885079a",
      "parents": [
        "bd42bfa8a60901f525d08d596710c35830e763f9",
        "4b5da322bdb715c952f2fd5faf55c4bbca6bb057"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Tue Mar 28 19:10:59 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 28 19:10:59 2017 +0000"
      },
      "message": "Track the API change to ApplyImagePatch().\nam: 4b5da322bd\n\nChange-Id: I2d91fdbbb52d63d1db10be9f0c2e5f0ff97de97c\n"
    },
    {
      "commit": "4b5da322bdb715c952f2fd5faf55c4bbca6bb057",
      "tree": "a9f54c47b5ab45214ddabd70bab21bb9d885079a",
      "parents": [
        "dc066f14d22f7e3843ad3c4bbcfd8718f95d4dcd"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Sat Mar 25 23:49:47 2017 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 28 19:01:31 2017 +0000"
      },
      "message": "Track the API change to ApplyImagePatch().\n\nIt now accepts a std::function as the sink callback.\n\nTest: update_engine_unittests\nChange-Id: I1d92197581069b36e14a5e25ee7c66079a987a6d\n"
    },
    {
      "commit": "bd42bfa8a60901f525d08d596710c35830e763f9",
      "tree": "fa5805d40d310829020052be4d0b8c132a439689",
      "parents": [
        "ddccea485e03caaf4e5e1d10ccb0a10debe8856b",
        "dc066f14d22f7e3843ad3c4bbcfd8718f95d4dcd"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Mar 28 17:07:26 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 28 17:07:26 2017 +0000"
      },
      "message": "Remove weave support from update_engine.\nam: dc066f14d2\n\nChange-Id: I25400933a2b20ed084fd813822ef272597093a7a\n"
    },
    {
      "commit": "dc066f14d22f7e3843ad3c4bbcfd8718f95d4dcd",
      "tree": "fa5805d40d310829020052be4d0b8c132a439689",
      "parents": [
        "f411650403c1d69c15ec0f2ee09b24c6c0ec67b5"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Mon Mar 27 13:01:29 2017 -0700"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Mon Mar 27 17:17:41 2017 -0700"
      },
      "message": "Remove weave support from update_engine.\n\nThis codepath is not used anymore.\n\nBug: None\nTest: `make checkbuild`.\nChange-Id: I0f7f22d63cb2c3fbfabcda25763160e2470ef2c5\n"
    },
    {
      "commit": "ddccea485e03caaf4e5e1d10ccb0a10debe8856b",
      "tree": "be70f831776e3b31271b3c78b75ca103586245e2",
      "parents": [
        "e013f6a4276dc44f7e99122b42d3c77bc45a4f21",
        "f411650403c1d69c15ec0f2ee09b24c6c0ec67b5"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Sat Mar 25 01:46:34 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Mar 25 01:46:34 2017 +0000"
      },
      "message": "Unmount old postinstall mountpoint from previous runs.\nam: f411650403\n\nChange-Id: I76867c7997e632dd0b1393ac27a4dbe8b93ccffd\n"
    },
    {
      "commit": "f411650403c1d69c15ec0f2ee09b24c6c0ec67b5",
      "tree": "be70f831776e3b31271b3c78b75ca103586245e2",
      "parents": [
        "a6dc0fe787733d489f403b5162d99a78e17517f4"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Mar 22 17:00:31 2017 -0700"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Sat Mar 25 01:43:15 2017 +0000"
      },
      "message": "Unmount old postinstall mountpoint from previous runs.\n\nWhen update_engine crashes, is killed or a developer runs\n\"stop update_engine\" while we are waiting for postinstall to finish\nthe other partition will continue to be mounted (read-only) on the\n/postinsall path. This will prevent to mount the new postinstall\nstep on top of it due to different SELinux labels when mounted and\nunmounted. After failing to run postinstall due to the failed mount\noperation we would cleanup the mountpoint, so this situation fixes\nitself after one failed update attempt, which can then be resumed\nfrom the very end.\n\nThis patch attempts to unmount /postinstall if a filesystem is mounted\nthere at the time we need to use the mountpoint.\n\nBug: 36391471\nTest: Added unittests.\nChange-Id: Idffd7a9319715bfb4ab6a9994c6757d27028d40a\n"
    },
    {
      "commit": "e013f6a4276dc44f7e99122b42d3c77bc45a4f21",
      "tree": "c6dd6f1f29868c8922f1017c76e97c958c32aff0",
      "parents": [
        "8ad358c3f3e4e81745f3d00ce5cedaddb2787d87",
        "a6dc0fe787733d489f403b5162d99a78e17517f4"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Mar 23 03:08:22 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 23 03:08:22 2017 +0000"
      },
      "message": "Fix the path to zlib_fingerprint.\nam: a6dc0fe787\n\nChange-Id: I57367c3a9cc58d58371cb20bcbfb9d83efc6f87d\n"
    },
    {
      "commit": "a6dc0fe787733d489f403b5162d99a78e17517f4",
      "tree": "c6dd6f1f29868c8922f1017c76e97c958c32aff0",
      "parents": [
        "ebf6e1228e6e42c19334bb8b3da62f4aef105dea"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Mar 22 16:59:26 2017 -0700"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Mar 23 03:03:20 2017 +0000"
      },
      "message": "Fix the path to zlib_fingerprint.\n\nThis uses the BuildArtifacts directory instead of hard-coding the\n/data/nativetest path. This fixes the unittests for 64-bits targets.\n\nBug: None\nTest: Ran unittests on 64-bit target\nChange-Id: I9ee73542f8cba405f939218b408f40f93385d7ef\n"
    },
    {
      "commit": "8ad358c3f3e4e81745f3d00ce5cedaddb2787d87",
      "tree": "fc9ebd9231560207cfe57c4c154dcdd12ff8b2b7",
      "parents": [
        "55bb875601341967bcc4facc1ccb96ecc08a2791",
        "ebf6e1228e6e42c19334bb8b3da62f4aef105dea"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Mar 22 22:54:55 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 22 22:54:55 2017 +0000"
      },
      "message": "Send the system image build fingerprint and bootloader versions.\nam: ebf6e1228e\n\nChange-Id: I269b995d880199a72b4ff1dc91dc4835dc983398\n"
    },
    {
      "commit": "55bb875601341967bcc4facc1ccb96ecc08a2791",
      "tree": "9a02183ee4fb6d94971c7645f83734e7a5a41ceb",
      "parents": [
        "eb1ffc581d03fe40404ae81bc6feb2cd6682de67",
        "eb2565593f622bfaadb874c57011357e7ca5c62a"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Mar 22 22:54:41 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 22 22:54:41 2017 +0000"
      },
      "message": "Set the uid to AID_OTA_UPDATE when tagging sockets.\nam: eb2565593f\n\nChange-Id: I9cd875cc18eee94b6b1f81f1ca9c2702f371cf4e\n"
    },
    {
      "commit": "ebf6e1228e6e42c19334bb8b3da62f4aef105dea",
      "tree": "fc9ebd9231560207cfe57c4c154dcdd12ff8b2b7",
      "parents": [
        "eb2565593f622bfaadb874c57011357e7ca5c62a"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Fri Mar 10 16:12:01 2017 -0800"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Mar 22 22:40:11 2017 +0000"
      },
      "message": "Send the system image build fingerprint and bootloader versions.\n\nIn Android, we had STUBS for the bootloader (firmware) version, board,\nand EC version. This patch populates those versions and strings based on\nthe system props using Android standard properties and includes the full\nbuild.fingerprint in the request, which could be used to double-check\nthe request.\n\nBug: 35364971\nTest: `update_engine_client --check_for_update` sends all this\ninformation now.\n\n(cherry picked from commit 094ce0bec1de7952e2ddc6c0f3c94dc3615b99c0)\n\nChange-Id: I8265c5b8f4415f825160ea259c5b84b4b77372d7\n"
    },
    {
      "commit": "eb1ffc581d03fe40404ae81bc6feb2cd6682de67",
      "tree": "3d24e7eea7af3ae532ad3f1ff4d85c5b6928eca7",
      "parents": [
        "c3076a1495ce67b816f0d376fc667302e34042cc",
        "6751bbe28c2bb1114a941dea0ffa489371d81ce2"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Mar 22 20:43:33 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 22 20:43:33 2017 +0000"
      },
      "message": "scripts: New script to update a device connected via adb\nam: 6751bbe28c\n\nChange-Id: I00a1cbbd94d9d8e3330cc261eb277eff28c3ff1a\n"
    },
    {
      "commit": "c3076a1495ce67b816f0d376fc667302e34042cc",
      "tree": "7df58b8310ac573171c651e4483bec647bc36266",
      "parents": [
        "ba3dd81651385b5b6a085c1c6361973b11aefedb",
        "bae90be5527658af3b3b17ca4485b49dd732e0f3"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Mar 22 20:43:30 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 22 20:43:30 2017 +0000"
      },
      "message": "Enable pylintrc to match existing code.\nam: bae90be552\n\nChange-Id: I57b67191600bf4a7f8440bab16903c7bcd5d7f0d\n"
    },
    {
      "commit": "eb2565593f622bfaadb874c57011357e7ca5c62a",
      "tree": "9a02183ee4fb6d94971c7645f83734e7a5a41ceb",
      "parents": [
        "6751bbe28c2bb1114a941dea0ffa489371d81ce2"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Mar 21 22:52:54 2017 -0700"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Mar 22 13:42:54 2017 -0700"
      },
      "message": "Set the uid to AID_OTA_UPDATE when tagging sockets.\n\nThe AID_OTA_UPDATE uid is the one designated to tag OTA traffic.\n\nBug: 35423816\nTest: Tested on marlin\nChange-Id: I0e9f73a0ad978031a1cbbce3a94a7f28bc6781ce\n"
    },
    {
      "commit": "6751bbe28c2bb1114a941dea0ffa489371d81ce2",
      "tree": "3d24e7eea7af3ae532ad3f1ff4d85c5b6928eca7",
      "parents": [
        "bae90be5527658af3b3b17ca4485b49dd732e0f3"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Mar 21 11:20:02 2017 -0700"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Mar 21 23:27:07 2017 -0700"
      },
      "message": "scripts: New script to update a device connected via adb\n\nThis new script allows to execute the update flow on an Android device\nconnected via adb to the host. At the moment, it supports both providing\nthe payload over the network with an \"adb reverse\" connection and to\npush the payload to a file on the device.\n\nBug: 35903885\nTest: system/update_engine/scripts/update_device.py ota.zip\nChange-Id: I1c6d4df97ce85b6e30367a53b351353a954efbdc\n"
    },
    {
      "commit": "bae90be5527658af3b3b17ca4485b49dd732e0f3",
      "tree": "7df58b8310ac573171c651e4483bec647bc36266",
      "parents": [
        "13e9518b53bbbc138bf20ac1e50be17b25fda6a7"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Fri Mar 17 00:30:28 2017 -0700"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Mar 21 23:02:49 2017 -0700"
      },
      "message": "Enable pylintrc to match existing code.\n\nThe existing code uses 2 space indents in python. This pylintrc matches\nthe internal Google Python style but with 2 spaces instead of 4.\n\nBug: None\nTest: pylint\nChange-Id: I4ad7e34ce58c8578ca9703a9fdcecd7854953ef8\n"
    },
    {
      "commit": "ba3dd81651385b5b6a085c1c6361973b11aefedb",
      "tree": "c64964d8a24b9598909868d50de8b9228487a1a5",
      "parents": [
        "463d8447e7e55777cae7c59bf6652ce475589ed0",
        "13e9518b53bbbc138bf20ac1e50be17b25fda6a7"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Fri Mar 17 17:56:45 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 17 17:56:45 2017 +0000"
      },
      "message": "Untag and stop watch on network sockets before closing them.\nam: 13e9518b53\n\nChange-Id: I74dfec0bcff5f48a5580d6cef8994b521214baaa\n"
    },
    {
      "commit": "13e9518b53bbbc138bf20ac1e50be17b25fda6a7",
      "tree": "c64964d8a24b9598909868d50de8b9228487a1a5",
      "parents": [
        "d998b820ef2ca391cef551159dacf5afce6cff98"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Mar 16 19:06:13 2017 -0700"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Mar 16 20:32:43 2017 -0700"
      },
      "message": "Untag and stop watch on network sockets before closing them.\n\nThis patch untags the network sockets tagged with qtaguid_tagSocket()\nbefore closing them, releasing the socket from the qtaguid kernel\nmodule. Without this patch, the socket won\u0027t be actually closed.\n\nThis patch also removes the socket watch right before closing it, which\nforces the epoll to stop watching. Closing the file descriptor would\nalso stop the watch if no other copy of the socket is kept open.\nExplicitly stoping the watch is safer.\n\nBug: 36264049\nTest: Ran update_engine under strace; the /proc/net/xt_qtaguid/ctrl\nis called and the socket object destroyed and removed from the epoll.\n\nChange-Id: I75c8befe8929e8e60c9534e0e4072f63b2fab1f4\n"
    },
    {
      "commit": "463d8447e7e55777cae7c59bf6652ce475589ed0",
      "tree": "b246e620b313bb8efa91d120f317b39d5adfc492",
      "parents": [
        "302b8179b8b5c1d834c37a2a1d2d9fdcf31c3633",
        "d998b820ef2ca391cef551159dacf5afce6cff98"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Fri Mar 10 16:09:49 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 10 16:09:49 2017 +0000"
      },
      "message": "Replacing fs_mgr_read_fstab() with new fs_mgr APIs\nam: d998b820ef\n\nChange-Id: Id4179c306ad3fc1a5a8b66d26613a46cf263bd76\n"
    },
    {
      "commit": "d998b820ef2ca391cef551159dacf5afce6cff98",
      "tree": "b246e620b313bb8efa91d120f317b39d5adfc492",
      "parents": [
        "d08818f36b403a2a5d896131c0fa6e4a6c4c1dce"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Fri Mar 10 18:25:34 2017 +0800"
      },
      "committer": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Fri Mar 10 18:30:14 2017 +0800"
      },
      "message": "Replacing fs_mgr_read_fstab() with new fs_mgr APIs\n\nThe fstab settings of early-mounted partitions (e.g., /vendor)\nwill be in kernel device tree. Switch to the new API to get the\nwhole settings with those in device tree:\n\n    fs_mgr_read_fstab_with_dt(\"/fstab.device\")\n\nThe original default /fstab.{ro.hardware} might be moved to\n/vendor/etc/. or /odm/etc/. Use another new API to get the default\nfstab instead of using the hard-coded /fstab.{ro.hardware}.\nThis API also includes the settings from device tree:\n\n    fs_mgr_read_fstab_default()\n\nBug: 35811655\nTest: boot sailfish\nChange-Id: If8361d891e17fa98b407b0e70f9f8984afcbcfe7\n"
    },
    {
      "commit": "302b8179b8b5c1d834c37a2a1d2d9fdcf31c3633",
      "tree": "c322512a63e955272e7aaeada7a10d4009be7e38",
      "parents": [
        "88aaf59f4af42982bac2c8e4a14ed20272a88abf",
        "d08818f36b403a2a5d896131c0fa6e4a6c4c1dce"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Tue Mar 07 03:52:45 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 07 03:52:45 2017 +0000"
      },
      "message": "Remove update_engine from dbus group.\nam: d08818f36b\n\nChange-Id: I42dea68452a381f6d273001b24620d9318b99824\n"
    },
    {
      "commit": "d08818f36b403a2a5d896131c0fa6e4a6c4c1dce",
      "tree": "c322512a63e955272e7aaeada7a10d4009be7e38",
      "parents": [
        "a7c4de21a823a9a03c38c6a51e6eb9bc764bd584"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Mon Mar 06 17:36:57 2017 -0800"
      },
      "committer": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Mon Mar 06 17:36:57 2017 -0800"
      },
      "message": "Remove update_engine from dbus group.\n\nBug: 31602715\nTest: update_engine_client --status\nChange-Id: I32f867b96bd7e16c9acfaa6afba8647b6dd59e6f\n"
    },
    {
      "commit": "88aaf59f4af42982bac2c8e4a14ed20272a88abf",
      "tree": "7f7d7c66f0cfe6efe3d5ca53f1919eaa567db530",
      "parents": [
        "e8d737bc8c73efd918488ffe9075f04446b1a566",
        "a7c4de21a823a9a03c38c6a51e6eb9bc764bd584"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Tue Mar 07 00:22:45 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 07 00:22:45 2017 +0000"
      },
      "message": "Remove dbus and shill support in Android.mk\nam: a7c4de21a8\n\nChange-Id: I3efccae3742813f505db5ad012f5e261172b03c7\n"
    },
    {
      "commit": "a7c4de21a823a9a03c38c6a51e6eb9bc764bd584",
      "tree": "7f7d7c66f0cfe6efe3d5ca53f1919eaa567db530",
      "parents": [
        "49d6445dfbfbb74b2fc72078a9815c2e639b6614"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Thu Mar 02 15:53:54 2017 -0800"
      },
      "committer": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Fri Mar 03 17:57:54 2017 -0800"
      },
      "message": "Remove dbus and shill support in Android.mk\n\nDid not touch the code so that DBus still works on Chrome OS.\n\nBug: 31602715\nTest: mma\nChange-Id: Ief9e4059b8ac7c45f3f4a246112dc5945ec16e38\n"
    },
    {
      "commit": "e8d737bc8c73efd918488ffe9075f04446b1a566",
      "tree": "e34ad30625a0a10056258d543eb1f3e5978e644a",
      "parents": [
        "3a6412388ea5eed457771a9bd46cb08ef928400f",
        "49d6445dfbfbb74b2fc72078a9815c2e639b6614"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Sat Mar 04 01:51:03 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Mar 04 01:51:03 2017 +0000"
      },
      "message": "Compile in Omaha support for IoT variants.\nam: 49d6445dfb\n\nChange-Id: I49a2dae16f3dde9e7a71a402c4c4430da7bbe036\n"
    },
    {
      "commit": "49d6445dfbfbb74b2fc72078a9815c2e639b6614",
      "tree": "e34ad30625a0a10056258d543eb1f3e5978e644a",
      "parents": [
        "b1e3e3c48d0128aa4265de6cc25d15f4b8b808f3"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Mon Oct 31 16:56:58 2016 -0700"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Mar 02 22:41:37 2017 -0800"
      },
      "message": "Compile in Omaha support for IoT variants.\n\nUse \"PRODUCT_IOT :\u003d true\" in the product config to enable Omaha support\nin update_engine.\n\nBug: 32549448\nTest: `make dist` on an IoT product. The right interface is compiled.\n\n(cherry picked from commit 332b2f1268ec2b98d7ffb3d083791f928177a693)\n\nChange-Id: I6e64dcab215bd9cb73880fb8469cf9343784e48b\n"
    },
    {
      "commit": "3a6412388ea5eed457771a9bd46cb08ef928400f",
      "tree": "9cfdf2be92090ea16cb1e28ade8365d64edd3e1a",
      "parents": [
        "6971b06a6d055af240b835b4a932afb63567dcc0",
        "b1e3e3c48d0128aa4265de6cc25d15f4b8b808f3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 02 03:01:37 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 02 03:01:37 2017 +0000"
      },
      "message": "Document the header key/value pair key names.\nam: b1e3e3c48d\n\nChange-Id: Iae09bbb1fefb1ff58cf394390ca24c85cac4aed4\n"
    },
    {
      "commit": "b1e3e3c48d0128aa4265de6cc25d15f4b8b808f3",
      "tree": "9cfdf2be92090ea16cb1e28ade8365d64edd3e1a",
      "parents": [
        "dcb18612576aeb59fbd8ba066b1b7a3a7bca8490"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 28 15:15:38 2017 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 28 15:15:38 2017 -0800"
      },
      "message": "Document the header key/value pair key names.\n\nBug: N/A\nTest: N/A\nChange-Id: Ifce3bb133030641fca23c87588d6e50fd175f419\n"
    },
    {
      "commit": "6971b06a6d055af240b835b4a932afb63567dcc0",
      "tree": "cd07c9972c45f9b8f03c4561f9931087ad27b08f",
      "parents": [
        "17ba71dadd0b2195f4866aa0e2aa7e6b943a7dae",
        "dcb18612576aeb59fbd8ba066b1b7a3a7bca8490"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Feb 27 20:17:14 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Feb 27 20:17:14 2017 +0000"
      },
      "message": "Disable macro redefined warnings on some includes.\nam: dcb1861257\n\nChange-Id: I778851869df789ef685216fcc3ccadcc8bfacd9d\n"
    },
    {
      "commit": "dcb18612576aeb59fbd8ba066b1b7a3a7bca8490",
      "tree": "cd07c9972c45f9b8f03c4561f9931087ad27b08f",
      "parents": [
        "63cfcf4976713be8b20348cc263109b0127a9ac8"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Feb 24 10:13:06 2017 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Feb 27 20:09:54 2017 +0000"
      },
      "message": "Disable macro redefined warnings on some includes.\n\nThe new kernel headers do:\n\n  #define __bitwise __bitwise__\n\nHowever, the code redefines __bitwise without undef\u0027ing it first.\n\nThe files affected are the include files from external/e2fsprogs,\nso the warnings will only be disabled around those includes.\n\nThis is a temporary fix, b/35721782 filed to fix this.\n\nTest: Builds without warningers/errors.\nChange-Id: I2eae12558c23be9bb3bf3931467b32eee5d57720\n"
    },
    {
      "commit": "17ba71dadd0b2195f4866aa0e2aa7e6b943a7dae",
      "tree": "eb45331cb9e8cbd047ea14e1421515351d6b8ba3",
      "parents": [
        "1f5f78ec6251e886b582f5962fd18aec4261a429",
        "63cfcf4976713be8b20348cc263109b0127a9ac8"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Fri Feb 24 18:07:10 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 24 18:07:10 2017 +0000"
      },
      "message": "Tag network sockets.\nam: 63cfcf4976\n\nChange-Id: Ibfdb757b4f2a08741588ad68f2b0118ea85cdcd0\n"
    },
    {
      "commit": "63cfcf4976713be8b20348cc263109b0127a9ac8",
      "tree": "eb45331cb9e8cbd047ea14e1421515351d6b8ba3",
      "parents": [
        "983f5780ca5f5bded3838fc94bf333551cc59538"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Feb 23 15:29:47 2017 -0800"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Fri Feb 24 18:02:49 2017 +0000"
      },
      "message": "Tag network sockets.\n\nThis patch tags all update_engine network sockets with 0x55417243\n(\"CrAU\" in little-endian) so its network data usage can be tracked.\n\nBug: 35721166\nTest: Ran uniitetst; /proc/net/xt_qtaguid/stats shows this tag.\nChange-Id: I8a4076f2958d493a59a5e73af0b6b54f1733e7f2\n"
    },
    {
      "commit": "1f5f78ec6251e886b582f5962fd18aec4261a429",
      "tree": "8f9441e50f6501056c3c267fad1fe537ff7cc96a",
      "parents": [
        "45904c6b2d836a1313de03c77ff9738c2dbcacb4",
        "983f5780ca5f5bded3838fc94bf333551cc59538"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Fri Feb 24 04:45:22 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 24 04:45:22 2017 +0000"
      },
      "message": "Report combined system version and product version.\nam: 983f5780ca\n\nChange-Id: Ib8c0847d2163804c22d1d0bf605e2184fa06c22e\n"
    },
    {
      "commit": "983f5780ca5f5bded3838fc94bf333551cc59538",
      "tree": "8f9441e50f6501056c3c267fad1fe537ff7cc96a",
      "parents": [
        "ebdb8beb93a63c30177f4a52bfca6fcc1b4b9e45"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Tue Feb 21 15:46:02 2017 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 24 04:40:54 2017 +0000"
      },
      "message": "Report combined system version and product version.\n\nThe version now consists of system version (3 numbers) and product\nversion (1 number).\n\nBug: 35364984\nTest: checked the omaha ping in logcat on edison\n\nChange-Id: Id479682f84d66da7eb6d2b8ce92c44f29ac6e3da\n"
    },
    {
      "commit": "45904c6b2d836a1313de03c77ff9738c2dbcacb4",
      "tree": "36c5eadf560eb5ab66730768ff187fbf32e03141",
      "parents": [
        "77e942062288a90f221e8630292998c492964408",
        "ebdb8beb93a63c30177f4a52bfca6fcc1b4b9e45"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Feb 23 20:57:46 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 23 20:57:46 2017 +0000"
      },
      "message": "Use registered users in system/update_engine OWNERS files.\nam: ebdb8beb93\n\nChange-Id: I0d5943c07df17e3698e0c2fa5ee114e38f876919\n"
    },
    {
      "commit": "ebdb8beb93a63c30177f4a52bfca6fcc1b4b9e45",
      "tree": "36c5eadf560eb5ab66730768ff187fbf32e03141",
      "parents": [
        "7a65909568c74307caa9c0eecc0721175509c4fc"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Feb 23 10:11:39 2017 -0800"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Feb 23 19:14:06 2017 +0000"
      },
      "message": "Use registered users in system/update_engine OWNERS files.\n\nAOSP project owners should be registered in Gerrit Code Review.\n\nBug: 33166666\nTest: default build targets\nChange-Id: I31df544212f565c60c848d92cd6ef984d5d0b475\n"
    },
    {
      "commit": "77e942062288a90f221e8630292998c492964408",
      "tree": "89c90c3c90539af3456411674aea20a9db36beec",
      "parents": [
        "62cc085ebe1fcd3432a2325917749f8012ad23db",
        "941ef20b3ed5683bf10aefe841da94b032c9eadd"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Thu Feb 16 21:26:53 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 21:26:53 2017 +0000"
      },
      "message": "Use bspatch as a library. am: 7a65909568 am: bae1ec2e7a\nam: 941ef20b3e\n\nChange-Id: I5c91e9b03b839fe3dadcfdb56035eb6fea6fa5ef\n"
    },
    {
      "commit": "62cc085ebe1fcd3432a2325917749f8012ad23db",
      "tree": "b6cd377708d059880a78342a66e484e3c2d275ac",
      "parents": [
        "08217a94179ea4e7df9875393a267d05c7c2f669",
        "020a289d8d55ceb88e20459d4984598678dd7bba"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Thu Feb 16 21:26:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 21:26:51 2017 +0000"
      },
      "message": "Add libbspatch dependency. am: 26dfa326df am: 3be2d9b15a\nam: 020a289d8d\n\nChange-Id: Ia83e63b92fbdd0d847eb06f4c17e062e04df8529\n"
    },
    {
      "commit": "941ef20b3ed5683bf10aefe841da94b032c9eadd",
      "tree": "89c90c3c90539af3456411674aea20a9db36beec",
      "parents": [
        "020a289d8d55ceb88e20459d4984598678dd7bba",
        "bae1ec2e7a332200788752f24e9011c07b588dc8"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Thu Feb 16 21:23:25 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 21:23:25 2017 +0000"
      },
      "message": "Use bspatch as a library. am: 7a65909568\nam: bae1ec2e7a\n\nChange-Id: Id2bbf7813480dd68529fe591b6f16f61c525765e\n"
    },
    {
      "commit": "020a289d8d55ceb88e20459d4984598678dd7bba",
      "tree": "b6cd377708d059880a78342a66e484e3c2d275ac",
      "parents": [
        "0edf58f52d75b58d2174d08686128a867580b7b8",
        "3be2d9b15aaedbb1750df7cf97b3f1cd905bc033"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Thu Feb 16 21:23:22 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 21:23:22 2017 +0000"
      },
      "message": "Add libbspatch dependency. am: 26dfa326df\nam: 3be2d9b15a\n\nChange-Id: I6ae57e5e103be477eff5778eb5ee6599b6fab050\n"
    },
    {
      "commit": "bae1ec2e7a332200788752f24e9011c07b588dc8",
      "tree": "89c90c3c90539af3456411674aea20a9db36beec",
      "parents": [
        "3be2d9b15aaedbb1750df7cf97b3f1cd905bc033",
        "7a65909568c74307caa9c0eecc0721175509c4fc"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Thu Feb 16 21:19:14 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 21:19:14 2017 +0000"
      },
      "message": "Use bspatch as a library.\nam: 7a65909568\n\nChange-Id: Id1cd793083cbe07c750f5212a4ad5e25a0e4fc4a\n"
    },
    {
      "commit": "3be2d9b15aaedbb1750df7cf97b3f1cd905bc033",
      "tree": "b6cd377708d059880a78342a66e484e3c2d275ac",
      "parents": [
        "07809e8e867fb6b22cd0c3647c647229503cc440",
        "26dfa326df88e015e487d589423156c6c517e69d"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Thu Feb 16 21:19:12 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 21:19:12 2017 +0000"
      },
      "message": "Add libbspatch dependency.\nam: 26dfa326df\n\nChange-Id: I9cf9200ba739d6c7ecd8756971a408c2d96f13ef\n"
    },
    {
      "commit": "7a65909568c74307caa9c0eecc0721175509c4fc",
      "tree": "89c90c3c90539af3456411674aea20a9db36beec",
      "parents": [
        "26dfa326df88e015e487d589423156c6c517e69d"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Tue May 10 15:31:46 2016 -0700"
      },
      "committer": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Thu Feb 16 21:14:09 2017 +0000"
      },
      "message": "Use bspatch as a library.\n\nTest: mma\nBug: 26982501\nChange-Id: Iafb6a2a4e6cb747004fbf1980e7f0b29108eb54f\n"
    },
    {
      "commit": "26dfa326df88e015e487d589423156c6c517e69d",
      "tree": "b6cd377708d059880a78342a66e484e3c2d275ac",
      "parents": [
        "b20de692d8a258eeea7b88619e722b19edb5408f"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Tue May 10 15:31:46 2016 -0700"
      },
      "committer": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Thu Feb 16 21:14:09 2017 +0000"
      },
      "message": "Add libbspatch dependency.\n\nlibimgpatch now depends on libbspatch.\n\nTest: mma\nBug: 26982501\n\nChange-Id: I458433d910d8fd61b0b7737906e14a9b5e8e8330\n"
    },
    {
      "commit": "08217a94179ea4e7df9875393a267d05c7c2f669",
      "tree": "e789654764a8f2fc3a1093137ea01e7d285601ed",
      "parents": [
        "0501747f85240d370f1afe9f617e742616044a65",
        "0edf58f52d75b58d2174d08686128a867580b7b8"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Feb 14 00:24:46 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 14 00:24:46 2017 +0000"
      },
      "message": "Cleanup the RetryTimeoutCallback(). am: b20de692d8 am: 07809e8e86\nam: 0edf58f52d\n\nChange-Id: I5d19ab3dd6e8372c24bb449d341ae8f45f5ea83f\n"
    },
    {
      "commit": "0501747f85240d370f1afe9f617e742616044a65",
      "tree": "988fbe4cdd89338add1e8362d456c6d41193bcb6",
      "parents": [
        "374c725d684a0eff97f8d7d950a6b95d89fbfcc6",
        "008e78167cf55b8b128f03055bf8a02c73163820"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Feb 14 00:24:44 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 14 00:24:44 2017 +0000"
      },
      "message": "Add unittest for TerminateTrasnfer between ranges. am: 4ea2d92b2d am: 96fe71819a\nam: 008e78167c\n\nChange-Id: I81334db5088bb5f50ce830ae27ae6ae3cb66b35b\n"
    },
    {
      "commit": "374c725d684a0eff97f8d7d950a6b95d89fbfcc6",
      "tree": "0fdd7de6e308139e9033dadec1a335f27ab0e5a3",
      "parents": [
        "fd4714436374e06d062b52fbb24fa0cdcae1931c",
        "b482401a8a6da8c1b82d7b29d5474117d16697a0"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Feb 14 00:24:42 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 14 00:24:42 2017 +0000"
      },
      "message": "Fix terminating a transfer while resolving proxies. am: 71f6762c7e am: a7d55efc9b\nam: b482401a8a\n\nChange-Id: I0481f89d25bd06cdcab50f24122e3b7a2139afc3\n"
    },
    {
      "commit": "fd4714436374e06d062b52fbb24fa0cdcae1931c",
      "tree": "109986c82f510264de36a491e76bcd5683ef033a",
      "parents": [
        "011531049fa7f8d8421978f1b46e14fb62c37def",
        "905583b279fcc700d5ce054466499871874c541f"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Feb 14 00:24:40 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 14 00:24:40 2017 +0000"
      },
      "message": "Allow to cancel a proxy resolution request. am: 3582194c10 am: 918246240b\nam: 905583b279\n\nChange-Id: I7924f0f48c8011e6f18abad0525b75da357ca6fb\n"
    },
    {
      "commit": "0edf58f52d75b58d2174d08686128a867580b7b8",
      "tree": "e789654764a8f2fc3a1093137ea01e7d285601ed",
      "parents": [
        "008e78167cf55b8b128f03055bf8a02c73163820",
        "07809e8e867fb6b22cd0c3647c647229503cc440"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Feb 14 00:21:17 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 14 00:21:17 2017 +0000"
      },
      "message": "Cleanup the RetryTimeoutCallback(). am: b20de692d8\nam: 07809e8e86\n\nChange-Id: I5de1eae4285cefab9b7b948ee93d064eb6fbd4e3\n"
    },
    {
      "commit": "008e78167cf55b8b128f03055bf8a02c73163820",
      "tree": "988fbe4cdd89338add1e8362d456c6d41193bcb6",
      "parents": [
        "b482401a8a6da8c1b82d7b29d5474117d16697a0",
        "96fe71819a2e668d419694849d12188ee1ab63de"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Feb 14 00:21:15 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 14 00:21:15 2017 +0000"
      },
      "message": "Add unittest for TerminateTrasnfer between ranges. am: 4ea2d92b2d\nam: 96fe71819a\n\nChange-Id: I2c5ca7d4abe3e12506dfcf0d78a380bbda27edd4\n"
    },
    {
      "commit": "b482401a8a6da8c1b82d7b29d5474117d16697a0",
      "tree": "0fdd7de6e308139e9033dadec1a335f27ab0e5a3",
      "parents": [
        "905583b279fcc700d5ce054466499871874c541f",
        "a7d55efc9b29cd0bdda142da0800f7e099a6a08f"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Feb 14 00:21:13 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 14 00:21:13 2017 +0000"
      },
      "message": "Fix terminating a transfer while resolving proxies. am: 71f6762c7e\nam: a7d55efc9b\n\nChange-Id: Ie2fcccc49d6ad900ff2c5039aab8034272b2b14c\n"
    },
    {
      "commit": "905583b279fcc700d5ce054466499871874c541f",
      "tree": "109986c82f510264de36a491e76bcd5683ef033a",
      "parents": [
        "718459af43efb480573072b13e8fa26559480389",
        "918246240bdc1e977524b007f30b5740b3d0c91c"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Feb 14 00:21:11 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 14 00:21:11 2017 +0000"
      },
      "message": "Allow to cancel a proxy resolution request. am: 3582194c10\nam: 918246240b\n\nChange-Id: I41ad91f1dede861a8b70053c554483c31b75dc19\n"
    },
    {
      "commit": "07809e8e867fb6b22cd0c3647c647229503cc440",
      "tree": "e789654764a8f2fc3a1093137ea01e7d285601ed",
      "parents": [
        "96fe71819a2e668d419694849d12188ee1ab63de",
        "b20de692d8a258eeea7b88619e722b19edb5408f"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Feb 14 00:18:17 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 14 00:18:17 2017 +0000"
      },
      "message": "Cleanup the RetryTimeoutCallback().\nam: b20de692d8\n\nChange-Id: I0e5bc392dc745be4634073fb82a338ac9fcc2449\n"
    },
    {
      "commit": "96fe71819a2e668d419694849d12188ee1ab63de",
      "tree": "988fbe4cdd89338add1e8362d456c6d41193bcb6",
      "parents": [
        "a7d55efc9b29cd0bdda142da0800f7e099a6a08f",
        "4ea2d92b2df53fa5147dc323d6d3c5b9236f83c0"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Feb 14 00:18:16 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 14 00:18:16 2017 +0000"
      },
      "message": "Add unittest for TerminateTrasnfer between ranges.\nam: 4ea2d92b2d\n\nChange-Id: If48a2fea7104ca3df152c95aaeff2a340860b127\n"
    },
    {
      "commit": "a7d55efc9b29cd0bdda142da0800f7e099a6a08f",
      "tree": "0fdd7de6e308139e9033dadec1a335f27ab0e5a3",
      "parents": [
        "918246240bdc1e977524b007f30b5740b3d0c91c",
        "71f6762c7e04774439c8011a5032bea6f182276f"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Feb 14 00:18:13 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 14 00:18:13 2017 +0000"
      },
      "message": "Fix terminating a transfer while resolving proxies.\nam: 71f6762c7e\n\nChange-Id: I5e37b48c45ac30748ccc0c1b18f20096fbc62ab9\n"
    },
    {
      "commit": "918246240bdc1e977524b007f30b5740b3d0c91c",
      "tree": "109986c82f510264de36a491e76bcd5683ef033a",
      "parents": [
        "6c51fee2114764e51734125ad435b365f7b20311",
        "3582194c10c47ffcda9ad7881e7fa6eed2404406"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Feb 14 00:18:11 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 14 00:18:11 2017 +0000"
      },
      "message": "Allow to cancel a proxy resolution request.\nam: 3582194c10\n\nChange-Id: I89393fcb150d86cd024e9038500b006be436d490\n"
    },
    {
      "commit": "b20de692d8a258eeea7b88619e722b19edb5408f",
      "tree": "e789654764a8f2fc3a1093137ea01e7d285601ed",
      "parents": [
        "4ea2d92b2df53fa5147dc323d6d3c5b9236f83c0"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Sun Feb 05 07:47:37 2017 +0000"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Mon Feb 13 21:26:44 2017 +0000"
      },
      "message": "Cleanup the RetryTimeoutCallback().\n\nWhen canceling a request or destroying the LibcurlHttpFetcher, a\nRetryTimeoutCallback callback could be leaked if the fetcher was\nwaiting on a network retry.\n\nThis patch keeps track of the retry callback and cancels it on CleanUp,\nmaking sure the callback is not leaked.\n\nBug: 34178297\nTest: Added unittest to trigger this case.\nChange-Id: I7016641a7f31429933779e55c77cbabb6289c3dd\n"
    },
    {
      "commit": "4ea2d92b2df53fa5147dc323d6d3c5b9236f83c0",
      "tree": "988fbe4cdd89338add1e8362d456c6d41193bcb6",
      "parents": [
        "71f6762c7e04774439c8011a5032bea6f182276f"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Sun Feb 05 07:35:32 2017 +0000"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Mon Feb 13 21:26:44 2017 +0000"
      },
      "message": "Add unittest for TerminateTrasnfer between ranges.\n\nThe new unittest exercises the case when a TerminateTransfer is\nreceived right after a range is finished in a multi-range request.\nWhile this test was handled properly, a minor check was added to\nprevent TerminateTransfer() being called twice in the underlying\nfetcher.\n\nBug: 34178297\nTest: New unittest passes.\n\nChange-Id: Iedaf0c684e9e83a20f5961f1d538bb380d6ae76b\n"
    },
    {
      "commit": "71f6762c7e04774439c8011a5032bea6f182276f",
      "tree": "0fdd7de6e308139e9033dadec1a335f27ab0e5a3",
      "parents": [
        "3582194c10c47ffcda9ad7881e7fa6eed2404406"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Fri Feb 03 21:30:24 2017 -0800"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Mon Feb 13 21:26:40 2017 +0000"
      },
      "message": "Fix terminating a transfer while resolving proxies.\n\nCalling TerminateTransfer() on an HttpFetcher should cancel the current\ntransfer regardless of where it is sitting. If TerminateTransfer() was\ncalled right after BeginTransfer(), the fetcher would be waiting for\nthe proxy resolution callback which will kick the download. This patch\nfixes this case by releasing the proxy callback when terminating a\ntransfer.\n\nBug: 34178297\nTest: Added a unittest to trigger this case.\nChange-Id: I282d04995bd0d03f9a469c80c1e263f9902e4be2\n"
    },
    {
      "commit": "3582194c10c47ffcda9ad7881e7fa6eed2404406",
      "tree": "109986c82f510264de36a491e76bcd5683ef033a",
      "parents": [
        "b8437be38d60be604b50581d3c6b05fa23ac2f59"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Sun Feb 05 04:36:02 2017 +0000"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Mon Feb 13 14:45:44 2017 +0000"
      },
      "message": "Allow to cancel a proxy resolution request.\n\nAfter calling GetProxiesForUrl(), there was no way to prevent the\nproxy resolver from calling the passed callback once the response is\nready. This implies that the object passed in the callback (normally\nas the \"data\" pointer) must be kept alive until the callback comes\nback.\n\nThis patch allows to cancel an ongoing request and converts the passed\ncallback to a base::Callback instead of using a raw pointer.\n\nBug: 34178297\nTest: Added unittests.\nChange-Id: Ie544d0230fd0c2dc85c6b9eaca9b5b13702516fa\n"
    },
    {
      "commit": "011531049fa7f8d8421978f1b46e14fb62c37def",
      "tree": "b8ae3154c2ce47cd4fb3428e165e54282679b9ad",
      "parents": [
        "fde9f3eecbc071db8e3915393b3aa9cca722ef1e",
        "718459af43efb480573072b13e8fa26559480389"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Feb 02 18:32:32 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 02 18:32:32 2017 +0000"
      },
      "message": "Link against libandroid_net instead of the full libandroid. am: b8437be38d am: 6c51fee211\nam: 718459af43\n\nChange-Id: I247ce8608c814e2d178157a3cd1f5d0411c662b8\n"
    },
    {
      "commit": "718459af43efb480573072b13e8fa26559480389",
      "tree": "b8ae3154c2ce47cd4fb3428e165e54282679b9ad",
      "parents": [
        "09adf3ae35aed3cfdf2e9e67a9a12cedfeac1c02",
        "6c51fee2114764e51734125ad435b365f7b20311"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Feb 02 18:23:23 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 02 18:23:23 2017 +0000"
      },
      "message": "Link against libandroid_net instead of the full libandroid. am: b8437be38d\nam: 6c51fee211\n\nChange-Id: Ie7770b185619013a1f0dfe712227e8cf1d855f7d\n"
    },
    {
      "commit": "6c51fee2114764e51734125ad435b365f7b20311",
      "tree": "b8ae3154c2ce47cd4fb3428e165e54282679b9ad",
      "parents": [
        "2aee43db1ddd0f93055d15f0f625b814d34cbba6",
        "b8437be38d60be604b50581d3c6b05fa23ac2f59"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Feb 02 18:10:58 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 02 18:10:58 2017 +0000"
      },
      "message": "Link against libandroid_net instead of the full libandroid.\nam: b8437be38d\n\nChange-Id: I7f2fbdbb0a65a98991dedcef74a2518682920f99\n"
    },
    {
      "commit": "b8437be38d60be604b50581d3c6b05fa23ac2f59",
      "tree": "b8ae3154c2ce47cd4fb3428e165e54282679b9ad",
      "parents": [
        "cd67f915fec7e678263d1d85bc8e4dd17e8dcd7a"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Fri Dec 09 16:28:12 2016 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 02 17:59:52 2017 +0000"
      },
      "message": "Link against libandroid_net instead of the full libandroid.\n\nWe only need the native network API, now available in libandroid_net.\nThis prevents linking against libandroid which is huge compared to just\nthe libandroid_net copy.\n\nBug: 32842753\nTest: `make dist`\nChange-Id: Iafee47589448b672d8872accab2a06b5d1c7bd8f\n"
    },
    {
      "commit": "fde9f3eecbc071db8e3915393b3aa9cca722ef1e",
      "tree": "7ede3d26188913e615a55ec8287a568e396a37b7",
      "parents": [
        "ca1cb5a05dae377f9b925c394992fcbe9e892a61",
        "09adf3ae35aed3cfdf2e9e67a9a12cedfeac1c02"
      ],
      "author": {
        "name": "bowgotsai",
        "email": "bowgotsai@google.com",
        "time": "Sat Jan 28 01:45:35 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jan 28 01:45:35 2017 +0000"
      },
      "message": "Add liblog dependency for update_engine am: cd67f915fe am: 2aee43db1d\nam: 09adf3ae35\n\nChange-Id: I4592bc751270dc361f414bafd95fb01a3cf73167\n"
    },
    {
      "commit": "09adf3ae35aed3cfdf2e9e67a9a12cedfeac1c02",
      "tree": "7ede3d26188913e615a55ec8287a568e396a37b7",
      "parents": [
        "509830e795ca355677511298e991a2807f910523",
        "2aee43db1ddd0f93055d15f0f625b814d34cbba6"
      ],
      "author": {
        "name": "bowgotsai",
        "email": "bowgotsai@google.com",
        "time": "Sat Jan 28 01:43:05 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jan 28 01:43:05 2017 +0000"
      },
      "message": "Add liblog dependency for update_engine am: cd67f915fe\nam: 2aee43db1d\n\nChange-Id: I0088d954f57fbdd68a4f641031a9bcf50f20560c\n"
    },
    {
      "commit": "2aee43db1ddd0f93055d15f0f625b814d34cbba6",
      "tree": "7ede3d26188913e615a55ec8287a568e396a37b7",
      "parents": [
        "8d8349e8a6863af522323f5f90edd85f8dc3f515",
        "cd67f915fec7e678263d1d85bc8e4dd17e8dcd7a"
      ],
      "author": {
        "name": "bowgotsai",
        "email": "bowgotsai@google.com",
        "time": "Sat Jan 28 01:40:37 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jan 28 01:40:37 2017 +0000"
      },
      "message": "Add liblog dependency for update_engine\nam: cd67f915fe\n\nChange-Id: I5dc97ce5d35aa380f405d8d4349de648656384b5\n"
    },
    {
      "commit": "cd67f915fec7e678263d1d85bc8e4dd17e8dcd7a",
      "tree": "7ede3d26188913e615a55ec8287a568e396a37b7",
      "parents": [
        "940c09b9ed78381ba0cfed41e992b693749446f4"
      ],
      "author": {
        "name": "bowgotsai",
        "email": "bowgotsai@google.com",
        "time": "Fri Jan 27 14:50:26 2017 +0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 28 01:37:21 2017 +0000"
      },
      "message": "Add liblog dependency for update_engine\n\nupdate_engine requires liblog due to fs_mgr is using\n\u003candroid-base/logging.h\u003e\n\nBug: 34336098\nTest: compile\n\nChange-Id: Iec8a59fd04d8adfc76c11cc100fa815a44b11745\n"
    },
    {
      "commit": "ca1cb5a05dae377f9b925c394992fcbe9e892a61",
      "tree": "f92964b26b3e864244e694d628ae98990ea3467f",
      "parents": [
        "3547cc3945d186e8a054b0c4b8f0cbea487befe5",
        "509830e795ca355677511298e991a2807f910523"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Fri Jan 27 19:12:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 27 19:12:51 2017 +0000"
      },
      "message": "Update zlib fingerprint with zlib version 1.2.11. am: 940c09b9ed am: 8d8349e8a6\nam: 509830e795\n\nChange-Id: I71828bf9d46a86487b17067b63fb462140db5376\n"
    },
    {
      "commit": "509830e795ca355677511298e991a2807f910523",
      "tree": "f92964b26b3e864244e694d628ae98990ea3467f",
      "parents": [
        "ca50850d9faf653d1e760de887c05827e3ca62ac",
        "8d8349e8a6863af522323f5f90edd85f8dc3f515"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Fri Jan 27 19:09:28 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 27 19:09:28 2017 +0000"
      },
      "message": "Update zlib fingerprint with zlib version 1.2.11. am: 940c09b9ed\nam: 8d8349e8a6\n\nChange-Id: Idb7ca5bc085274f9d4c2eab9bfdb6fcd59bbe062\n"
    },
    {
      "commit": "8d8349e8a6863af522323f5f90edd85f8dc3f515",
      "tree": "f92964b26b3e864244e694d628ae98990ea3467f",
      "parents": [
        "0421307ba8ba1e0a107636eea18396be67608b10",
        "940c09b9ed78381ba0cfed41e992b693749446f4"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Fri Jan 27 19:07:28 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 27 19:07:28 2017 +0000"
      },
      "message": "Update zlib fingerprint with zlib version 1.2.11.\nam: 940c09b9ed\n\nChange-Id: I25285402853ed9b2dd0ccc5996e5d41fb2fc6434\n"
    },
    {
      "commit": "940c09b9ed78381ba0cfed41e992b693749446f4",
      "tree": "f92964b26b3e864244e694d628ae98990ea3467f",
      "parents": [
        "7e540a005ec530a16a0ecdaa1c26ef1a6a330f05"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Wed Jan 25 16:36:10 2017 -0800"
      },
      "committer": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Fri Jan 27 19:02:17 2017 +0000"
      },
      "message": "Update zlib fingerprint with zlib version 1.2.11.\n\nI reviewed the code changes, there\u0027s no compression algorithm changes\nexcept level 0 which imgdiff does not support (it only support level 6\nand 9).\n\nI also compressed a few files and compared the result with 1.2.8, and\nthe files are exactly the same.\n\nTest: update_engine_unittests\nChange-Id: Iedc3bf5e08c0d5431acb67f4180cf40a6b5012db\n"
    },
    {
      "commit": "3547cc3945d186e8a054b0c4b8f0cbea487befe5",
      "tree": "7fdef88fb096d6cbee589605e677b97d43d88d49",
      "parents": [
        "4b1f43f476c703ab00350e6a5c2ee84cb114e546",
        "ca50850d9faf653d1e760de887c05827e3ca62ac"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Fri Jan 27 18:52:25 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 27 18:52:25 2017 +0000"
      },
      "message": "Add PREUPLOAD.cfg file am: 7e540a005e am: 0421307ba8\nam: ca50850d9f\n\nChange-Id: I52368770caa2a1816a081cbe590c6afee5e1ad9d\n"
    },
    {
      "commit": "ca50850d9faf653d1e760de887c05827e3ca62ac",
      "tree": "7fdef88fb096d6cbee589605e677b97d43d88d49",
      "parents": [
        "2bf801f67ade4395c64cc8c924e2bdb8e8c93682",
        "0421307ba8ba1e0a107636eea18396be67608b10"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Fri Jan 27 18:50:27 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 27 18:50:27 2017 +0000"
      },
      "message": "Add PREUPLOAD.cfg file am: 7e540a005e\nam: 0421307ba8\n\nChange-Id: I4a69132ca8c605fdfec4aeb687ffa03047215a23\n"
    },
    {
      "commit": "0421307ba8ba1e0a107636eea18396be67608b10",
      "tree": "7fdef88fb096d6cbee589605e677b97d43d88d49",
      "parents": [
        "0dd5b76152b785e0d21b6c27f3691692a6125ad8",
        "7e540a005ec530a16a0ecdaa1c26ef1a6a330f05"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Fri Jan 27 18:47:58 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 27 18:47:58 2017 +0000"
      },
      "message": "Add PREUPLOAD.cfg file\nam: 7e540a005e\n\nChange-Id: I7a29250c7860227ec8ae39f5b46232a2c1ada8db\n"
    },
    {
      "commit": "7e540a005ec530a16a0ecdaa1c26ef1a6a330f05",
      "tree": "7fdef88fb096d6cbee589605e677b97d43d88d49",
      "parents": [
        "89f6d679090054cd77b516d7e62be91db45a468b"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Jan 26 19:50:16 2017 -0800"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Jan 26 19:51:22 2017 -0800"
      },
      "message": "Add PREUPLOAD.cfg file\n\nThe PREUPLOAD.cfg file requires enabled the preupload clang style\ncheck.\n\nBug: None\nTest: repo upload\n\nChange-Id: Ic0867069da15b971d5f6130b4cdd1f213fd99625\n"
    },
    {
      "commit": "4b1f43f476c703ab00350e6a5c2ee84cb114e546",
      "tree": "ccebed91283fb3a2d9c6dcdb205e6d3bfa749af9",
      "parents": [
        "723bfa3d6b59378e551cd41cb7956a08d1f590b0",
        "2bf801f67ade4395c64cc8c924e2bdb8e8c93682"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Jan 25 23:59:21 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 25 23:59:21 2017 +0000"
      },
      "message": "Remove \"-host\" suffix from libext2fs. am: 89f6d67909 am: 0dd5b76152\nam: 2bf801f67a\n\nChange-Id: Ib3199162beff5f0fb50c215fd1225e67e4b6afc5\n"
    },
    {
      "commit": "2bf801f67ade4395c64cc8c924e2bdb8e8c93682",
      "tree": "ccebed91283fb3a2d9c6dcdb205e6d3bfa749af9",
      "parents": [
        "c5d84ef4920b7aa6d01c0e6af7eada0b76b0affe",
        "0dd5b76152b785e0d21b6c27f3691692a6125ad8"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Jan 25 23:56:21 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 25 23:56:21 2017 +0000"
      },
      "message": "Remove \"-host\" suffix from libext2fs. am: 89f6d67909\nam: 0dd5b76152\n\nChange-Id: I996d95a146445c877a778618f4d524a7dc1f9707\n"
    },
    {
      "commit": "0dd5b76152b785e0d21b6c27f3691692a6125ad8",
      "tree": "ccebed91283fb3a2d9c6dcdb205e6d3bfa749af9",
      "parents": [
        "235005db790300135897ac30ee3eb8db885ab078",
        "89f6d679090054cd77b516d7e62be91db45a468b"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Jan 25 23:53:20 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 25 23:53:20 2017 +0000"
      },
      "message": "Remove \"-host\" suffix from libext2fs.\nam: 89f6d67909\n\nChange-Id: I76cdf8522eb6e0bdf5abce7a49b98617f98578b7\n"
    },
    {
      "commit": "89f6d679090054cd77b516d7e62be91db45a468b",
      "tree": "ccebed91283fb3a2d9c6dcdb205e6d3bfa749af9",
      "parents": [
        "763e17ce69486f4a4d1b99cc4d6ce41a8fa77d58"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Fri Jan 13 17:26:52 2017 -0800"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Jan 25 23:48:42 2017 +0000"
      },
      "message": "Remove \"-host\" suffix from libext2fs.\n\nBug: 34220783\nTest: make checkbuild\nChange-Id: I17dd14f81b20cd632a5b94630a89b650da5d1ccf\n"
    },
    {
      "commit": "723bfa3d6b59378e551cd41cb7956a08d1f590b0",
      "tree": "3c79fc8f29b9f6f4630a4bcc3f6fd92bd51c791b",
      "parents": [
        "964fc795bfe843b4a1a00e7ac9d81a97645a4b9b",
        "c5d84ef4920b7aa6d01c0e6af7eada0b76b0affe"
      ],
      "author": {
        "name": "bowgotsai",
        "email": "bowgotsai@google.com",
        "time": "Wed Jan 25 05:25:44 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 25 05:25:44 2017 +0000"
      },
      "message": "Add libbase dependency for update_engine am: 763e17ce69 am: 235005db79\nam: c5d84ef492\n\nChange-Id: Ibd70ea46be34d71006cdeb36d79b60c1d52b5956\n"
    },
    {
      "commit": "c5d84ef4920b7aa6d01c0e6af7eada0b76b0affe",
      "tree": "3c79fc8f29b9f6f4630a4bcc3f6fd92bd51c791b",
      "parents": [
        "051810759b7f1713a2db15f64972f1f9757aabf3",
        "235005db790300135897ac30ee3eb8db885ab078"
      ],
      "author": {
        "name": "bowgotsai",
        "email": "bowgotsai@google.com",
        "time": "Wed Jan 25 05:23:13 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 25 05:23:13 2017 +0000"
      },
      "message": "Add libbase dependency for update_engine am: 763e17ce69\nam: 235005db79\n\nChange-Id: Ie23b731dfde7b0b0e8d730264e12ca1afe2ff263\n"
    },
    {
      "commit": "235005db790300135897ac30ee3eb8db885ab078",
      "tree": "3c79fc8f29b9f6f4630a4bcc3f6fd92bd51c791b",
      "parents": [
        "2074b1050080a848bb8fe4e67e53376ae6d9f2e5",
        "763e17ce69486f4a4d1b99cc4d6ce41a8fa77d58"
      ],
      "author": {
        "name": "bowgotsai",
        "email": "bowgotsai@google.com",
        "time": "Wed Jan 25 05:21:34 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 25 05:21:34 2017 +0000"
      },
      "message": "Add libbase dependency for update_engine\nam: 763e17ce69\n\nChange-Id: Icc8a8bc1ca0f580f603c2a0608883feb034bfd7d\n"
    },
    {
      "commit": "763e17ce69486f4a4d1b99cc4d6ce41a8fa77d58",
      "tree": "3c79fc8f29b9f6f4630a4bcc3f6fd92bd51c791b",
      "parents": [
        "afde8e8e06bf5fdefd89f7e9f0a0475356ddf0d7"
      ],
      "author": {
        "name": "bowgotsai",
        "email": "bowgotsai@google.com",
        "time": "Tue Jan 24 16:59:57 2017 +0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 25 05:16:39 2017 +0000"
      },
      "message": "Add libbase dependency for update_engine\n\nupdate_engine requires libbase due to fs_mgr is using\n\u003candroid-base/logging.h\u003e\n\nBug: 34336098\nTest: compile\nChange-Id: I2b127c71bf2d6ccb43d79f2b82b531b303fcc720\n"
    },
    {
      "commit": "964fc795bfe843b4a1a00e7ac9d81a97645a4b9b",
      "tree": "5230b8856839c28ae8ad91109cfb2ebe53fd2c0a",
      "parents": [
        "59948e287946f87b7b418ca10bee15ce597fd1d2",
        "051810759b7f1713a2db15f64972f1f9757aabf3"
      ],
      "author": {
        "name": "Chris Phoenix",
        "email": "cphoenix@google.com",
        "time": "Mon Jan 23 21:12:31 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 23 21:12:31 2017 +0000"
      },
      "message": "bootctrl HAL uses \"default\" service name am: afde8e8e06 am: 2074b10500\nam: 051810759b\n\nChange-Id: I2a15b3f67b16f44c7a72074e890936b6ff552774\n"
    },
    {
      "commit": "051810759b7f1713a2db15f64972f1f9757aabf3",
      "tree": "5230b8856839c28ae8ad91109cfb2ebe53fd2c0a",
      "parents": [
        "f178a330660d1d16b8f4adfec08964fbff361b1c",
        "2074b1050080a848bb8fe4e67e53376ae6d9f2e5"
      ],
      "author": {
        "name": "Chris Phoenix",
        "email": "cphoenix@google.com",
        "time": "Mon Jan 23 20:58:25 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 23 20:58:25 2017 +0000"
      },
      "message": "bootctrl HAL uses \"default\" service name am: afde8e8e06\nam: 2074b10500\n\nChange-Id: Idc14d126e5b150446e829772dc29654cc442a8f6\n"
    },
    {
      "commit": "2074b1050080a848bb8fe4e67e53376ae6d9f2e5",
      "tree": "5230b8856839c28ae8ad91109cfb2ebe53fd2c0a",
      "parents": [
        "a54920bef562aaacee25d4e9988242bdb366d4a3",
        "afde8e8e06bf5fdefd89f7e9f0a0475356ddf0d7"
      ],
      "author": {
        "name": "Chris Phoenix",
        "email": "cphoenix@google.com",
        "time": "Mon Jan 23 20:53:27 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 23 20:53:27 2017 +0000"
      },
      "message": "bootctrl HAL uses \"default\" service name\nam: afde8e8e06\n\nChange-Id: I30ba205790614c2897821a4790a4287e6860c76a\n"
    },
    {
      "commit": "afde8e8e06bf5fdefd89f7e9f0a0475356ddf0d7",
      "tree": "5230b8856839c28ae8ad91109cfb2ebe53fd2c0a",
      "parents": [
        "5fbb110c73158e443efe1fcac87e6648c631b4c0"
      ],
      "author": {
        "name": "Chris Phoenix",
        "email": "cphoenix@google.com",
        "time": "Tue Jan 17 23:14:58 2017 -0800"
      },
      "committer": {
        "name": "Chris Phoenix",
        "email": "cphoenix@google.com",
        "time": "Fri Jan 20 14:13:41 2017 -0800"
      },
      "message": "bootctrl HAL uses \"default\" service name\n\nThe getService() and registerAsService() methods of interface objects\nnow have default parameters of \"default\" for the service name. HALs\nwill not have to use any service name unless they want to register\nmore than one service.\n\nTest: builds; verify HAL still works\n\nIn support of b/33844934\n\nChange-Id: I0b8aefd81477ffdb3b755bb870574a810f8b685a\nMerged-In: I307ff530dbe6ac9133b50be3c74d2582acbe439d\n"
    }
  ],
  "next": "59948e287946f87b7b418ca10bee15ce597fd1d2"
}
