)]}'
{
  "log": [
    {
      "commit": "0aa2ce34f9fa65d4eb5643e1ba6b2c7fa0d91a82",
      "tree": "5b0c148db78d8d07e20925c592d73d59a0f756ce",
      "parents": [
        "5dab2b4f453188ca44a384ab291c2a4ec580eb6d"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue May 02 10:06:33 2017 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue May 02 10:08:39 2017 -0700"
      },
      "message": "Don\u0027t display bugreport progress when it recedes, for real...\n\nThe previous fix was taking account just the progress reported by dumpstate,\nnot progress/percentage. As such, it was not detecting the cases where the\npercentage decreased but the progress didn\u0027t.\n\nBug: 37878670\nTest: m -j32 adb_test \u0026\u0026 ./out/host/linux-x86/nativetest64/adb_test/adb_test --gtest_filter\u003dBugreportTest.*\n\nChange-Id: I5830028f3191a9b17f63aeed5c049b29fa7d1179\n"
    },
    {
      "commit": "5dab2b4f453188ca44a384ab291c2a4ec580eb6d",
      "tree": "2384951c4e06a813b93ab0b7bccd38486617348b",
      "parents": [
        "42a12f7b25e2407a0992cadba49ec1cc1fded885"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Mar 20 11:00:11 2017 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Mar 20 11:49:21 2017 -0700"
      },
      "message": "Don\u0027t display bugreport progress when it recedes.\n\nAlso fixed InvalidNumberArgs that broke when usage() was moved out from\nbugreport.cpp.\n\nFixes: 26354314\nBug: 28054087\nTest: m -j32 adb_test \u0026\u0026 ./out/host/linux-x86/nativetest64/adb_test/adb_test --gtest_filter\u003dBugreportTest.*\n\nChange-Id: I7be5ef7de0fb0d339dc80a2abc816e1c905deb22\n"
    },
    {
      "commit": "42a12f7b25e2407a0992cadba49ec1cc1fded885",
      "tree": "6fa97c903741a7568e57b924d47f15732f9e8dd3",
      "parents": [
        "820234f1ddad592fde4b9c66f789a9a6ff52f546",
        "a0813b6bdde87a7283c0256e0ecf9c8cd553d583"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Mar 15 00:46:43 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 15 00:46:44 2017 +0000"
      },
      "message": "Merge \"Remove extraneous .clang-format files\""
    },
    {
      "commit": "a0813b6bdde87a7283c0256e0ecf9c8cd553d583",
      "tree": "6fa97c903741a7568e57b924d47f15732f9e8dd3",
      "parents": [
        "820234f1ddad592fde4b9c66f789a9a6ff52f546"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Mar 14 14:06:31 2017 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Mar 14 14:06:31 2017 -0700"
      },
      "message": "Remove extraneous .clang-format files\n\nThe .clang-format files in the base, debuggerd, adb, libprocinfo, and\nfastboot subdirectories each differ slightly from the top level\n.clang-format-2 and .clang-format-4, but not in a substantially\nmeaningful way, as the source files in those directories have not been\nre-formatted with clang-format.  Therefore, let\u0027s reduce the\ndifferences and use only the two top level clang-format files.\n\nSecondly perform some small clean-up of the top level .clang-format\nfiles.  AllowShortBlocksOnASingleLine is already false in the Google\nstyle, so it can be removed.  AllowShortFunctionsOnASingleLine should\nnot change between the -2 and -4 versions, so leave it at the Google\ndefault style in both, which is \u0027All\u0027.\n\nThe diff stats for these changes are:\n\n./base/\nOld:\n640 insertions(+), 531 deletions(-)\nNew:\n563 insertions(+), 808 deletions(-)\n\n./debuggerd/\nOld:\n910 insertions(+), 886 deletions(-)\nNew:\n991 insertions(+), 1023 deletions(-)\n\n./adb/\nOld:\n2623 insertions(+), 2886 deletions(-)\nNew:\n2655 insertions(+), 3103 deletions(-)\n\n./libprocinfo/\nOld:\n2 insertions(+), 1 deletion(-)\nNew:\n4 insertions(+), 18 deletions(-)\n\n./fastboot/\nOld:\n618 insertions(+), 743 deletions(-)\nNew:\n726 insertions(+), 882 deletions(-)\n\n./init/\nOld:\n1755 insertions(+), 1866 deletions(-)\nNew:\n1715 insertions(+), 1952 deletions(-)\n\nTest: Above clang-format stats\nChange-Id: I3f7b8ab0660c8394c5008ba95ea15e70dd22b55b\n"
    },
    {
      "commit": "820234f1ddad592fde4b9c66f789a9a6ff52f546",
      "tree": "413a29d8a431431574ec0672ca1a2f1c8e82e94a",
      "parents": [
        "c1cc50ec6fc14a0eec7c26020194c2aa5400fd26",
        "1175cd4f2657d82a18e7d6c4946446b68bd2bdb1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 11 03:48:47 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 11 03:48:49 2017 +0000"
      },
      "message": "Merge \"adb: replacing fs_mgr_read_fstab() with fs_mgr_read_fstab_default()\""
    },
    {
      "commit": "1175cd4f2657d82a18e7d6c4946446b68bd2bdb1",
      "tree": "e581acac036d3c438b932bfd77851b0381436870",
      "parents": [
        "6cd50721debec9657c5640c6dae0a487e44b26b9"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Fri Mar 10 16:43:02 2017 +0800"
      },
      "committer": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Sat Mar 11 09:37:56 2017 +0800"
      },
      "message": "adb: replacing fs_mgr_read_fstab() with fs_mgr_read_fstab_default()\n\nThe original default /fstab.{ro.hardware} might be moved to\n/vendor/etc/. or /odm/etc/. Use the new API to get the default\nfstab instead of using the hard-coded /fstab.{ro.hardware}.\n\nBug: 35811655\nTest: boot marlin with /vendor/etc/fstab.marlin, then run \u0027adb remount\u0027\nChange-Id: I927209ce3c5bea45c01ed631a7c4c320fe728c00\n"
    },
    {
      "commit": "c1cc50ec6fc14a0eec7c26020194c2aa5400fd26",
      "tree": "a98064a18466f713b9d0d874b0e3cf485645c901",
      "parents": [
        "6cd50721debec9657c5640c6dae0a487e44b26b9",
        "eea5feac042e0920334e97fa2236bf6eebbe9ca9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 10 20:54:50 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 10 20:54:51 2017 +0000"
      },
      "message": "Merge \"adb: properly erase destroyed jdwp_trackers.\""
    },
    {
      "commit": "eea5feac042e0920334e97fa2236bf6eebbe9ca9",
      "tree": "819c3487d682e5b3cc6f9cbd47c3f25c509dd034",
      "parents": [
        "9611547ed67f14995bd3931904f97dc6a388ec7e"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Mar 10 11:19:48 2017 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Mar 10 11:24:37 2017 -0800"
      },
      "message": "adb: properly erase destroyed jdwp_trackers.\n\nstd::remove_if moves to-be-removed elements to the end of the vector\nand returns an iterator that must be .erased.\n\nBug: http://b/35772578\nTest: mma\nChange-Id: Idfe8520e176204ac5ce000c30704873a3ffe6c9c\n"
    },
    {
      "commit": "6cd50721debec9657c5640c6dae0a487e44b26b9",
      "tree": "fce184e04e40240263a4e3711e4d17d7456f843e",
      "parents": [
        "6d05af7615ddb03940e1c34e4e188b8f7fbbd33e",
        "20238f20d8ae8b7f3361045dc734989f76899dc1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 10 01:09:42 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 10 01:09:42 2017 +0000"
      },
      "message": "Merge changes from topic \u0027adb-mdnsd\u0027\n\n* changes:\n  Make ADB over mDNS work on Windows\n  Enable mDNS on Darwin\n  Don\u0027t include mDNS support on platforms other than Linux\n  Add mDNS device discovery for adb client\n  adb: Set a hostname for mDNS\n  Make ADBD announce its presence over mDNS\n"
    },
    {
      "commit": "6d05af7615ddb03940e1c34e4e188b8f7fbbd33e",
      "tree": "af307f3c206df5e74ab542ec5642cbddec7b3110",
      "parents": [
        "9611547ed67f14995bd3931904f97dc6a388ec7e"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Mar 08 15:42:57 2017 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Mar 08 21:27:59 2017 -0800"
      },
      "message": "adb: append the libwinpthread COPYING to adb\u0027s NOTICE.\n\nWe statically link libwinpthread into Windows binaries, but soong\ncurrently can\u0027t specify notice files for toolchain_libraries. Add\nlibwinpthread\u0027s COPYING info directly to adb\u0027s as a hack.\n\nBug: http://b/36073965\nTest: `make PRODUCT-sdk-win_sdk` + manual inspection of NOTICE.txt\nChange-Id: I58d6be0ecf5626b67308f7e94128a2cd44dab161\n"
    },
    {
      "commit": "9611547ed67f14995bd3931904f97dc6a388ec7e",
      "tree": "8794abdba76c0d0dafc555a8291a87b28e92180f",
      "parents": [
        "f6ed63c6a386b5cf289ddd347a3f44a344199154"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Tue Mar 07 17:30:03 2017 -0800"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Tue Mar 07 19:20:54 2017 -0800"
      },
      "message": "adb: Do not signal gaget stack unless descriptors are written\n\nWhile recovering from endpoint errors, the gadget stack was being\nsignalled even when desriptors were NOT being rewritten. Avoid this\nas this might cause enumeration loops.\n\nBug: 36036550\nChange-Id: Iff2b2fc8cded001ef3c77dc170dce3b96848970c\n"
    },
    {
      "commit": "20238f20d8ae8b7f3361045dc734989f76899dc1",
      "tree": "aa0602d85d41937ac7275156349d5a43efba61d9",
      "parents": [
        "c969b37ee10ac91298fd58d19c618cbabfbf34be"
      ],
      "author": {
        "name": "Casey Dahlin",
        "email": "sadmac@google.com",
        "time": "Wed Sep 21 14:03:39 2016 -0700"
      },
      "committer": {
        "name": "Casey Dahlin",
        "email": "sadmac@google.com",
        "time": "Tue Mar 07 14:45:52 2017 -0800"
      },
      "message": "Make ADB over mDNS work on Windows\n\nTest: Verified ADB over mDNS on a Windows machine\nBug: 30482671\n(cherry picked from 9fdd77101f49d03ff29342e12e23edf241f68522)\n\nChange-Id: If955ca304db71a5b08c5a9654f1e27ab74af9af8\n"
    },
    {
      "commit": "c969b37ee10ac91298fd58d19c618cbabfbf34be",
      "tree": "df4afb22dd1baf3eaac16d9d797f20d7b753e1da",
      "parents": [
        "21a59b87b2d24d60de0144b033520d905eed134e"
      ],
      "author": {
        "name": "Casey Dahlin",
        "email": "sadmac@google.com",
        "time": "Tue Aug 23 14:48:28 2016 -0700"
      },
      "committer": {
        "name": "Casey Dahlin",
        "email": "sadmac@google.com",
        "time": "Tue Mar 07 14:45:52 2017 -0800"
      },
      "message": "Enable mDNS on Darwin\n\nWe have to disable IPv6 to get this going, but nobody was yet using\nIPv6, so that should be fine for now.\n\nTest: Verified mDNS discovery on a MacBook\nBug: 31042497\n(cherry picked from 9ae65de087171072f3890a81b074ae27db319508)\n\nChange-Id: I628f0a1e9c4784db42fa56f5faf2904b6e1cf548\n"
    },
    {
      "commit": "21a59b87b2d24d60de0144b033520d905eed134e",
      "tree": "3b8ff35124f80b34a7b4385b4a15a5466a392d95",
      "parents": [
        "3122cdf468930c458fa8cef5484c6ec2be438d9d"
      ],
      "author": {
        "name": "Casey Dahlin",
        "email": "sadmac@google.com",
        "time": "Tue Jul 19 14:18:54 2016 -0700"
      },
      "committer": {
        "name": "Casey Dahlin",
        "email": "sadmac@google.com",
        "time": "Tue Mar 07 14:45:52 2017 -0800"
      },
      "message": "Don\u0027t include mDNS support on platforms other than Linux\n\nTest: Shamu build now passes\nBug: None\n(cherry picked from 122a7738606d854d6dc10fa361c1d7296cc9670a)\n\nChange-Id: I650adf0bca96fb655163f5e9b27d9995ae448ec2\n"
    },
    {
      "commit": "3122cdf468930c458fa8cef5484c6ec2be438d9d",
      "tree": "087847832ebebd30827df271aa35b911203a1b01",
      "parents": [
        "50b39b44ec6f0a0009838d4001ddfb21991982a1"
      ],
      "author": {
        "name": "Casey Dahlin",
        "email": "sadmac@google.com",
        "time": "Thu Jun 23 14:19:37 2016 -0700"
      },
      "committer": {
        "name": "Casey Dahlin",
        "email": "sadmac@google.com",
        "time": "Tue Mar 07 14:45:51 2017 -0800"
      },
      "message": "Add mDNS device discovery for adb client\n\nTest: Was able to discover a raspberry pi.\nBug: 28074466\n(cherry picked from e292cd16760321fccc99c8c261cb92fa4b6462ab)\n\nChange-Id: Id9571576457a4a0a078e48a274a4e8eac78bfe2b\n"
    },
    {
      "commit": "50b39b44ec6f0a0009838d4001ddfb21991982a1",
      "tree": "804f8cdfa73fbc8b4770791bb7ed164b7905a069",
      "parents": [
        "10ad15f123533f5d88bfb4946f075e145e127f65"
      ],
      "author": {
        "name": "Casey Dahlin",
        "email": "sadmac@google.com",
        "time": "Fri May 20 16:34:51 2016 -0700"
      },
      "committer": {
        "name": "Casey Dahlin",
        "email": "sadmac@google.com",
        "time": "Tue Mar 07 14:44:38 2017 -0800"
      },
      "message": "adb: Set a hostname for mDNS\n\nNow all devices won\u0027t appear as \"Android.\" Should make it easier to\nmultiplex.\n\nTest: Verified locally on a raspberry pi 3\nBug: 28887278\n(cherry picked from 815b23319635d264ae0ce2c8c29a5776a57b8051)\n\nChange-Id: Icfd0116477543af6a3049c14d818c1cff7fc3b93\n"
    },
    {
      "commit": "10ad15f123533f5d88bfb4946f075e145e127f65",
      "tree": "d04ee8da2dddff9b3b815f02bb701ad4a38155b1",
      "parents": [
        "f6ed63c6a386b5cf289ddd347a3f44a344199154"
      ],
      "author": {
        "name": "Casey Dahlin",
        "email": "sadmac@google.com",
        "time": "Fri May 06 16:19:13 2016 -0700"
      },
      "committer": {
        "name": "Casey Dahlin",
        "email": "sadmac@google.com",
        "time": "Tue Mar 07 14:42:06 2017 -0800"
      },
      "message": "Make ADBD announce its presence over mDNS\n\nWe now request mdnsd from adb and register a service of type _adb._tcp\nfor clients to connect to.\n\nTest: Verified service appears in avahi-browse\nBug: 28074466\n(cherry picked from 379ac414e4d9f53388d903913022a55695292775)\n\nChange-Id: Ie871b9c8b40e86063cc1e68e8f3e4290ead2d279\n"
    },
    {
      "commit": "f6ed63c6a386b5cf289ddd347a3f44a344199154",
      "tree": "ab4e912ed623b28262dbc56f70ab48f55e58d86e",
      "parents": [
        "9cbc5991cabdb533bdeb1594868e7e48c231f398"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Mar 02 13:23:56 2017 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Mar 02 13:23:56 2017 -0800"
      },
      "message": "adb: turn on libusb by default.\n\nBug: http://b/31321337\nTest: python test_device.py\nChange-Id: Idb2ff1108331bf505feeeb943b6be7bb78124618\n"
    },
    {
      "commit": "9cbc5991cabdb533bdeb1594868e7e48c231f398",
      "tree": "458949822a2bcd531a21ce843e0bd01ae3251d68",
      "parents": [
        "e6794076f51e3762fdda315a82e2dbc79f15627a",
        "f76e5a72c1996e928f8f1c29b64be1a29cf4e547"
      ],
      "author": {
        "name": "Bo Hu",
        "email": "bohu@google.com",
        "time": "Thu Mar 02 18:03:30 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 02 18:03:30 2017 +0000"
      },
      "message": "Merge \"DO NOT MERGE ANYWHERE Qemu-pipe: refactor qemu_pipe.h into libqemu_pipe\""
    },
    {
      "commit": "f76e5a72c1996e928f8f1c29b64be1a29cf4e547",
      "tree": "34dda1784c8db5efccc73e432be0ed42a179eedc",
      "parents": [
        "30e9fe635737dfd46c6ceef241a2e8c7ab9c76fb"
      ],
      "author": {
        "name": "bohu",
        "email": "bohu@google.com",
        "time": "Tue Feb 28 14:58:36 2017 -0800"
      },
      "committer": {
        "name": "bohu",
        "email": "bohu@google.com",
        "time": "Wed Mar 01 16:33:44 2017 -0800"
      },
      "message": "DO NOT MERGE ANYWHERE Qemu-pipe: refactor qemu_pipe.h into libqemu_pipe\n\nTraditionally, qemu_pipe has both the declaration and implentation of each\nfunction in one header file--qemu_pipe.h, and it is getting incovenient to\nmaintain.\n\nThis CL separates the implementation of functions from the header file,\nand makes qemu_pipe a static library for other modules to link to.\n\nNote that the interface and implementation of qemu_pipe are kept unchanged,\nand future CLs will enhance the implementation to make it more reliable and\nmore compatible with old and new API levels.\n\nFollowing projects are affected by this refactoring, and they are modified\naccordingly:\n\ndevice/generic/goldfish\ndevice/generic/goldfish-opengl\nhardware/ril/reference-ril\n\nChange-Id: I541ecbf0cc7eadeef9d4e37ffd9ca7bfcc5c94c0\n"
    },
    {
      "commit": "e6794076f51e3762fdda315a82e2dbc79f15627a",
      "tree": "e838c86040272d4968fca946cb13443d0e49dd47",
      "parents": [
        "30e9fe635737dfd46c6ceef241a2e8c7ab9c76fb"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Feb 23 21:23:05 2017 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Feb 27 18:18:31 2017 -0800"
      },
      "message": "Move adb_dirname and adb_basename to libbase\n\nadb already provides an implementation of dirname and basename that\ntake and produce std::strings, move it into libbase so it can be\nused in the implementation of GetExecutableDirectory.\n\nTest: out/host/linux-x86/nativetest64/adb_test/adb_test\nTest: out/host/linux-x86/nativetest64/libbase_test/libbase_test\nTest: adb shell /data/nativetest64/libbase_test/libbase_test64\nChange-Id: Ideb1627607b14562121316d4ed27fa6fb0930684\n"
    },
    {
      "commit": "30e9fe635737dfd46c6ceef241a2e8c7ab9c76fb",
      "tree": "cf0c406a849ea1f94464cf4113250fad35d1a02d",
      "parents": [
        "bed2818939cfeb2ae54be46fc7e6a2b37c6a2780",
        "1cd5857e3e40836f106cf4502b7f5a65c9c98f1c"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Feb 24 21:02:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 24 21:02:25 2017 +0000"
      },
      "message": "Merge \"Revert \"adb: remove win32 dependency on libwinpthread-1.dll.\"\""
    },
    {
      "commit": "bed2818939cfeb2ae54be46fc7e6a2b37c6a2780",
      "tree": "0bcfdc59dbdd94add2d33d5f7c8ff51a1801b6d6",
      "parents": [
        "df3c18ef5c3db9943233320c25fdd4b69747263c"
      ],
      "author": {
        "name": "Sandeep Patil",
        "email": "sspatil@google.com",
        "time": "Thu Feb 23 16:26:21 2017 -0800"
      },
      "committer": {
        "name": "Sandeep Patil",
        "email": "sspatil@google.com",
        "time": "Thu Feb 23 16:48:52 2017 -0800"
      },
      "message": "adb: early-mount: fix verity toggle through adb for early mount\n\nverity toggle through adb failed to work for early mount due to fstab\nentries being moved into kernel/dt. This change fixes that by using the\nnew fs_mgr_read_fstab_default() api that will make sure all fstab\nentries (from dt as well as from /fstab.{ro.hardware}) are combined\nbefore returning the fstab object.\n\nb/27805372\n\nTest: early mount /system and /vendor on angler.\n- test adb disable-verity \u0026\u0026 adb root to ensure rebooted instance\ndoesn\u0027t have \u0027partition.system.verified\u0027 property set. i.e. verity is\nindeed disabled.\n\n- test adb enable-verity \u0026\u0026 adb root to ensure rebooted instance does\nhave \u0027partition.system.verified\u0027 property set, i.e. verity is enabled.\nalso verified by trying to do \u0027adb remount\u0027 which correctly warns about\nverity\n\nChange-Id: Iffdcc0a0b959a65c326219bd4e9e41cba9ec7c88\nSigned-off-by: Sandeep Patil \u003csspatil@google.com\u003e\n"
    },
    {
      "commit": "1cd5857e3e40836f106cf4502b7f5a65c9c98f1c",
      "tree": "3d5ccc8c16e38251e37d80a877645e4673fead86",
      "parents": [
        "df3c18ef5c3db9943233320c25fdd4b69747263c"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Feb 23 13:16:52 2017 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Feb 23 13:16:52 2017 -0800"
      },
      "message": "Revert \"adb: remove win32 dependency on libwinpthread-1.dll.\"\n\nThis reverts commit b2d21a497a75cbf7c15b0f8f9d3a18734298d35b.\n\nMove the change to build/make, so that other win32 binaries get this as\nwell.\n"
    },
    {
      "commit": "df3c18ef5c3db9943233320c25fdd4b69747263c",
      "tree": "5f7f620de4c51f1f530aec77b34b3892b101324c",
      "parents": [
        "7cebaefe30831d61e424c5af315d2abb2207dffa",
        "210b63fe6724a6070565802616e69e1c7c38ffed"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 23 04:29:46 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 23 04:29:47 2017 +0000"
      },
      "message": "Merge \"adb: add `adb host-features`, report libusb status.\""
    },
    {
      "commit": "210b63fe6724a6070565802616e69e1c7c38ffed",
      "tree": "5f7f620de4c51f1f530aec77b34b3892b101324c",
      "parents": [
        "7cebaefe30831d61e424c5af315d2abb2207dffa"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Feb 22 17:07:01 2017 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Feb 22 18:19:21 2017 -0800"
      },
      "message": "adb: add `adb host-features`, report libusb status.\n\nAdd a \u0027host-features\u0027 command to get the features of the currently\nrunning host adb server. Abuse it to report libusb status.\n\nBug: http://b/34983123\nTest: adb host-features; adb kill-server; ADB_LIBUSB\u003d1 adb start-server; adb host-features\nChange-Id: I0e8d503a2dbdff9002ebb6ce8a298498a9421422\n"
    },
    {
      "commit": "7cebaefe30831d61e424c5af315d2abb2207dffa",
      "tree": "a901aa67a15894d13134360726c881eab174d9ef",
      "parents": [
        "b88057d1fa0af829b5cc6780ef70e266257d18af",
        "b2d21a497a75cbf7c15b0f8f9d3a18734298d35b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 22 02:06:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 22 02:06:40 2017 +0000"
      },
      "message": "Merge \"adb: remove win32 dependency on libwinpthread-1.dll.\""
    },
    {
      "commit": "b2d21a497a75cbf7c15b0f8f9d3a18734298d35b",
      "tree": "c9d634b1de111cc4c91878cfc8b90abf8cb2ad47",
      "parents": [
        "49c2edf55314577efa22337badb316a221c1d7fd"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Feb 21 15:27:57 2017 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Feb 21 15:30:11 2017 -0800"
      },
      "message": "adb: remove win32 dependency on libwinpthread-1.dll.\n\nExplicitly link against the static libwinpthread.a to avoid a\ndependency on the dll.\n\nAlso, make the tests link against libbase statically.\n\nBug: http://b/31665213\nTest: wine adb.exe\nTest: wine adb_test.exe\nChange-Id: Ifd41afcb1756a4b9b6db12e102b4db502e73d846\n"
    },
    {
      "commit": "b88057d1fa0af829b5cc6780ef70e266257d18af",
      "tree": "ecd587289f6a68fa8788cbe5f914b802c168cfc1",
      "parents": [
        "961083eed137ee9c011ee5e0b2f0b962f126a087"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Tue Feb 21 14:37:07 2017 -0800"
      },
      "committer": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Tue Feb 21 14:37:07 2017 -0800"
      },
      "message": "adb: set max_rw to USB_FFS_BULK_SIZE explicitly\n\nSometimes when endpoint_alloc returns ENODEV,\nmax_rw will end up being a value that is too\nbig.\n\nBug: 35634401\nTest: push/pull files\nChange-Id: Iaa81a3311b1855e2a835562cdf7a46ff4399feb1\n"
    },
    {
      "commit": "961083eed137ee9c011ee5e0b2f0b962f126a087",
      "tree": "2d414d3cdad67a121b6d14fe15b7a98ebae8324d",
      "parents": [
        "49c2edf55314577efa22337badb316a221c1d7fd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 17 11:14:33 2017 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 17 11:14:33 2017 -0800"
      },
      "message": "adbd\u0027s children should have SIGPIPE set to SIG_DFL.\n\nPOSIX lets you choose whether or not SIGPIPE disposition is inherited,\nand Linux chose \"yes\". Work around that.\n\nBug: http://b/35209888\nTest: \"ps -A | head\" without the toybox workaround\nChange-Id: I6b5afa3d87eb2af04b24c6c37fa338ab60ad2336\n"
    },
    {
      "commit": "49c2edf55314577efa22337badb316a221c1d7fd",
      "tree": "df416351e520cf1e2986d0b8a3a8e8647bf4c0ca",
      "parents": [
        "ed795c01b5ae5a1f268bf3b40cd8afb2983b23f0",
        "a4136361ff6a883b0253fa07b883f86bf0adfee9"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Thu Feb 16 19:27:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 16 19:27:18 2017 +0000"
      },
      "message": "Merge \"adb: Lower EP_ALLOC retry count\""
    },
    {
      "commit": "a4136361ff6a883b0253fa07b883f86bf0adfee9",
      "tree": "df416351e520cf1e2986d0b8a3a8e8647bf4c0ca",
      "parents": [
        "ed795c01b5ae5a1f268bf3b40cd8afb2983b23f0"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Thu Feb 16 10:38:50 2017 -0800"
      },
      "committer": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Thu Feb 16 10:56:05 2017 -0800"
      },
      "message": "adb: Lower EP_ALLOC retry count\n\nRetries were causing timeouts on some devices.\n\nBug: 35418581\nTest: Change usb config\nChange-Id: Ie80d9eba1cb9af0acee49bd7312842533a94a87b\n"
    },
    {
      "commit": "ed795c01b5ae5a1f268bf3b40cd8afb2983b23f0",
      "tree": "c0168e32e48e43244656be1bee032349fc36a05a",
      "parents": [
        "f0e239cdac5be6e5f78c70fb4527a53e4cef9541"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Fri Feb 10 17:43:00 2017 -0800"
      },
      "committer": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Mon Feb 13 18:19:41 2017 -0800"
      },
      "message": "adb: Add bMaxBurst to superspeed descriptors\n\nThis gives a large boost to speed on usb 3.0.\n\nTest: adb pull/push multi GB files\nBug: 31722483\nChange-Id: Iea039f1aba8b2e4d7e4a2ecb504cccb5dd1e4629\n"
    },
    {
      "commit": "f0e239cdac5be6e5f78c70fb4527a53e4cef9541",
      "tree": "bc63720d8d8e05ca086a9833feb26da016b32746",
      "parents": [
        "76f9c72be714c8e91087954f8424e0109a182fef"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Fri Feb 10 17:45:27 2017 -0800"
      },
      "committer": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Mon Feb 13 18:19:36 2017 -0800"
      },
      "message": "adb: Set max socket sizes to larger values.\n\nThis improves performance of push/pull.\n\nTest: adb push/pull multi GB files.\nBug: 31722483\nChange-Id: Ia01574c3db6a740d7a7e64ba1f5bc1fc279fb3f6\n"
    },
    {
      "commit": "76f9c72be714c8e91087954f8424e0109a182fef",
      "tree": "7aa1a3f511dfba664e10157f3c43b5033e7bfd90",
      "parents": [
        "97e74bb0f3057eb4168822f8608337a176c7e762"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Wed Jan 04 12:34:38 2017 -0800"
      },
      "committer": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Mon Feb 13 14:20:47 2017 -0800"
      },
      "message": "adb: Pre allocate kernel memory\n\nThis allows reliable use of larger buffer sizes.\nMax r/w size is set only when that preallocation\nis successful so that memory is guaranteed to be\navailable.\n\nBug: 31722483\nTest: adb push with multi GB files\nChange-Id: Ia0459ca051988abb144645871792e8f840dd3ff7\n"
    },
    {
      "commit": "97e74bb0f3057eb4168822f8608337a176c7e762",
      "tree": "27e440e8d68428cee3fb2cc5b85efc82fe2bdb8f",
      "parents": [
        "f3ca63d4327db60ab5c6e42f4316bb0dcac14800"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 06 16:20:30 2017 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 06 16:20:30 2017 -0800"
      },
      "message": "Don\u0027t print 168^W143 lines of help when someone makes a typo.\n\nPrint actual usage messages in most cases.\n\nAdd --help and --version.\n\nBug: http://b/28054087\nTest: manual\nChange-Id: I39c1cb7a84f52e0c35d24f140ec55c3a181283fb\n"
    },
    {
      "commit": "f3ca63d4327db60ab5c6e42f4316bb0dcac14800",
      "tree": "9e61ef2887e66ab38d1d438f6c433fa59225cf0b",
      "parents": [
        "72938f730c5ca250664ce1c02e69aa490a455b42",
        "5d0d1add579fc0c5b3bf342667fdc24afc92b0ed"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 02 00:34:19 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 02 00:34:25 2017 +0000"
      },
      "message": "Merge \"usb_dispatch.cpp: Lower severity of logging statement.\""
    },
    {
      "commit": "5d0d1add579fc0c5b3bf342667fdc24afc92b0ed",
      "tree": "9e61ef2887e66ab38d1d438f6c433fa59225cf0b",
      "parents": [
        "72938f730c5ca250664ce1c02e69aa490a455b42"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Feb 01 11:55:58 2017 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Feb 01 12:05:18 2017 -0800"
      },
      "message": "usb_dispatch.cpp: Lower severity of logging statement.\n\nThe first time you run adb, it starts the adbd server and annoyingly\ngenerates the following message:\n\nadb I 02-01 11:57:58 99717 99717 usb_dispatch.cpp:30] using native\nbackend\n\nDrop the severity of the message to avoid visible spammy messages only\nintended for debugging.\n\nTest: code compiles and no more log message in normal adb use\nChange-Id: I882092a6cd14bc67980d88416397d51ab8393b1b\n"
    },
    {
      "commit": "72938f730c5ca250664ce1c02e69aa490a455b42",
      "tree": "f3dcae6e4bb963b9fd5d82387fa0096ea9b8fd3a",
      "parents": [
        "b736692b2c6a8345a86863e08d6561a981816ff5",
        "484ddbf3f269da190e523a6c9dfa89721dcd21e9"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jan 26 22:03:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 26 22:03:16 2017 +0000"
      },
      "message": "Merge \"adb: fix darwin build.\""
    },
    {
      "commit": "484ddbf3f269da190e523a6c9dfa89721dcd21e9",
      "tree": "f3dcae6e4bb963b9fd5d82387fa0096ea9b8fd3a",
      "parents": [
        "b736692b2c6a8345a86863e08d6561a981816ff5"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jan 26 14:01:02 2017 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jan 26 14:01:34 2017 -0800"
      },
      "message": "adb: fix darwin build.\n\nBug: none\nTest: mma on mac\nChange-Id: I49ef3c4892c7942a235d317d90386c7d8a872868\n"
    },
    {
      "commit": "b736692b2c6a8345a86863e08d6561a981816ff5",
      "tree": "43d1639db44696dd41cf6c1b70c709f5054e6ac9",
      "parents": [
        "617fd83b380e4eeaa5fae94355a16e1f5c886c7e"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Sep 28 12:32:45 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Jan 25 13:52:53 2017 -0800"
      },
      "message": "adb: add libusb implementation for Linux/Darwin.\n\nAdd a libusb-based implementation alongside the existing native\nimplementations, controlled by the ADB_LIBUSB environment variable.\n\nWindows will need more work for the usb driver.\n\nBug: http://b/31321337\nTest: python test_device.py on linux/darwin, with ADB_LIBUSB\u003d0 and 1\nChange-Id: Ib68fb2c6c05475eae3ff4cc19f55802a6f489bb7\n"
    },
    {
      "commit": "617fd83b380e4eeaa5fae94355a16e1f5c886c7e",
      "tree": "e6cb227efe596bd410cf6a6802c033de3e55ecfa",
      "parents": [
        "6946f119849ebb70a398e432036f93637dc194a5",
        "78f860e66601e7d245af0222281aae6e37b9e046"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Jan 25 21:52:44 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 25 21:52:45 2017 +0000"
      },
      "message": "Merge changes I21eefab9,I0ac7d78a\n\n* changes:\n  adb: move usb_* to client/usb_*.\n  adb: reorganize adbd USB handling code.\n"
    },
    {
      "commit": "6946f119849ebb70a398e432036f93637dc194a5",
      "tree": "faf0bdb04e548a2dfc4e093cf6bc17fa2fbba610",
      "parents": [
        "690b0a9f8b26cb42d450d5ffad345b7d5c85932b"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Jan 18 18:14:17 2017 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Jan 20 15:26:00 2017 -0800"
      },
      "message": "adb: check for and report inotify_init1 failure.\n\nBug: http://b/34396687\nTest: mma\nChange-Id: I55ea84db49017a6533ac54db5072e3e75ba30097\n"
    },
    {
      "commit": "78f860e66601e7d245af0222281aae6e37b9e046",
      "tree": "8dfdaf0549142b413254d2d85abbfd0c856a672f",
      "parents": [
        "484aaba99c8061b048d929614332c0722d477079"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jan 19 13:44:23 2017 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jan 19 15:49:55 2017 -0800"
      },
      "message": "adb: move usb_* to client/usb_*.\n\nBug: http://b/31321337\nTest: mma\nChange-Id: I21eefab953737e87d211959616ac4f48926dd92c\n"
    },
    {
      "commit": "484aaba99c8061b048d929614332c0722d477079",
      "tree": "2deb8cbb39d01e3276567c2d759a5a6e9eecc749",
      "parents": [
        "690b0a9f8b26cb42d450d5ffad345b7d5c85932b"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Jan 11 17:37:35 2017 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jan 19 13:19:45 2017 -0800"
      },
      "message": "adb: reorganize adbd USB handling code.\n\nBreak adbd\u0027s USB initialization code into its own static library to\nallow it to be used by benchmark code that pretends to be adbd.\n\nBug: http://b/31289465\nTest: adb shell works on bullhead\nChange-Id: I0ac7d78a4f7aef59bd6d14fc5cf1ed870e1f3a9d\n"
    },
    {
      "commit": "690b0a9f8b26cb42d450d5ffad345b7d5c85932b",
      "tree": "6c941b1f0ccb9bc5eb201d10de7b1f307a01874e",
      "parents": [
        "2d8211489d47fa22a9259961ce6c25b94aba2cd4"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Oct 18 18:17:52 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Jan 17 13:57:57 2017 -0800"
      },
      "message": "debuggerd: advance our amazing bet.\n\nRemove debuggerd in favor of a helper process that gets execed by\ncrashing processes.\n\nBug: http://b/30705528\nTest: debuggerd_test\nChange-Id: I9906c69473989cbf7fe5ea6cccf9a9c563d75906\n"
    },
    {
      "commit": "2d8211489d47fa22a9259961ce6c25b94aba2cd4",
      "tree": "a7b908a288476b50493af134492ad77e5e8d58d2",
      "parents": [
        "ce710c7b83d01099bac2ab28e9623853ca6cc41a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 13 16:58:25 2017 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 13 16:58:25 2017 -0800"
      },
      "message": "-e is really about TCP/IP devices, not emulators.\n\nDespite the name.\n\nBug: N/A\nTest: N/A\nChange-Id: I099222137fabf68f961a6a2e5d11f2904ffd5a0d\n"
    },
    {
      "commit": "ce710c7b83d01099bac2ab28e9623853ca6cc41a",
      "tree": "14702264d4a70523a8a37f70d1606400aa3324e5",
      "parents": [
        "f2c86999c5759ce00ad25eb926f2e2863ebb2485",
        "0dde9c8b37b7cf620fda211e6c244aadaf45fa22"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jan 12 21:24:33 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 12 21:24:34 2017 +0000"
      },
      "message": "Merge \"adb: remove support for legacy f_adb interface.\""
    },
    {
      "commit": "0dde9c8b37b7cf620fda211e6c244aadaf45fa22",
      "tree": "23ca1e47ecfc349f14802b6945a6c4b2ebf93fdd",
      "parents": [
        "a8c21dc4f81557817f900c5575e15a8cda0c8988"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Jan 11 14:39:19 2017 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Jan 11 15:00:03 2017 -0800"
      },
      "message": "adb: remove support for legacy f_adb interface.\n\nEverything should be using the functionfs interface instead by now.\n\nBug: http://b/34228376\nTest: grepping for f_adb, android_adb in source tree\nTest: m\nChange-Id: I6bc41049c49a867499832588dac8ed108c636c11\n"
    },
    {
      "commit": "f2c86999c5759ce00ad25eb926f2e2863ebb2485",
      "tree": "f46f5ed29e99bb1b3a85f839724d4fe36b034f10",
      "parents": [
        "a8c21dc4f81557817f900c5575e15a8cda0c8988"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Jan 11 14:03:11 2017 -0800"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Jan 11 14:05:42 2017 -0800"
      },
      "message": "Remove \"_static\" and \"_host\" suffix from libext4_utils.\n\nBug: 34220783\nChange-Id: I967dbaa9c48ad1feed2369c3a40f745b86a350f8\n"
    },
    {
      "commit": "a8c21dc4f81557817f900c5575e15a8cda0c8988",
      "tree": "6938c2b3150b8887ff066f95643baedd77cd0225",
      "parents": [
        "4199a7acc95f0e120a9048216dd80987872aa46b"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Thu Jan 05 18:01:01 2017 -0800"
      },
      "committer": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Thu Jan 05 18:01:01 2017 -0800"
      },
      "message": "adb: Fix the \u0027adb reboot sideload\u0027 for A/B devices.\n\nWe used to write the command file (/cache/recovery/command) to trigger\nthe sideload mode. A/B devices don\u0027t support that (may not have /cache\nparitition). This CL switches to using libbootloader_message which\nwrites the command to BCB (bootloader control block) instead.\n\nTest: \"adb root \u0026\u0026 adb reboot sideload\" reboots sailfish into recovery\n      sideload mode.\n\nChange-Id: I158fd7cbcfa9a5d0609f1f684a2d03675217628f\n"
    },
    {
      "commit": "4199a7acc95f0e120a9048216dd80987872aa46b",
      "tree": "b60bfc04459c2e1f66c1e7b8858d2899f926bb38",
      "parents": [
        "1bb7f5f579f5f6d7c40bc9a26cbd85f57fc7cab8",
        "9926f2f31cb9db29e4391cb19179d60900b15605"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Dec 17 00:07:41 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Dec 17 00:07:41 2016 +0000"
      },
      "message": "Merge \"adb: fix adb trace tag\""
    },
    {
      "commit": "1bb7f5f579f5f6d7c40bc9a26cbd85f57fc7cab8",
      "tree": "3bf12b6559625fc2d3bc53c75af672750584d3e6",
      "parents": [
        "f860798e0070bbdba5b6b3ebd5b1bf3578aa669f",
        "e9e7bac660573957d60ef8125d1615cabb505d66"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 15 06:04:04 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 15 06:04:05 2016 +0000"
      },
      "message": "Merge \"adb: don\u0027t require adb keys to be named \"*.adb_key\".\""
    },
    {
      "commit": "e9e7bac660573957d60ef8125d1615cabb505d66",
      "tree": "3bf12b6559625fc2d3bc53c75af672750584d3e6",
      "parents": [
        "f860798e0070bbdba5b6b3ebd5b1bf3578aa669f"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Dec 14 16:59:29 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Dec 14 17:05:36 2016 -0800"
      },
      "message": "adb: don\u0027t require adb keys to be named \"*.adb_key\".\n\nDon\u0027t require the extension on explicit file paths passed on; only\ncheck for it in monitored directories.\n\nBug: http://b/33638233\nTest: ADB_TRACE\u003d1 ADB_VENDOR_KEYS\u003d$HOME/foo adb server nodaemon\nChange-Id: I7387e0bbe0f2e16878bf22b05d5c6e8d0f9e5a92\n"
    },
    {
      "commit": "f860798e0070bbdba5b6b3ebd5b1bf3578aa669f",
      "tree": "98df22492c07a47838f73efc574ec063c7bb6ddd",
      "parents": [
        "80e9769d420605206f2670f7df63d379752ff35e",
        "5c3e3fbbbedcfdb11daf6a71be99cc809d07b67d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 14 21:11:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 14 21:11:23 2016 +0000"
      },
      "message": "Merge \"adb: remove extraneous stat in sync_recv.\""
    },
    {
      "commit": "9926f2f31cb9db29e4391cb19179d60900b15605",
      "tree": "dc23053806628cc800da2686f9c83c59cfaa43dc",
      "parents": [
        "8833f14f22be9dac7f4052f840947f9908b37e7c"
      ],
      "author": {
        "name": "Daniel Friederich",
        "email": "dfriederich@magicleap.com",
        "time": "Wed Dec 14 11:28:28 2016 -0600"
      },
      "committer": {
        "name": "Daniel Friederich",
        "email": "dfriederich@magicleap.com",
        "time": "Wed Dec 14 12:41:43 2016 -0600"
      },
      "message": "adb: fix adb trace tag\n\nThe ADB trace enum value collided with the 0 values used to mean all, hence it\nwas not possible to just trace the ADB tagged messages without also tracing everything else.\n\nChange-Id: I15ff9c50c4ac01806c4841cf8213ce859faf130b\nTest: Manually by setting ADB_TRACE and running adb, e.g. \"ADB_TRACE\u003dadb adb shell ls\"\n"
    },
    {
      "commit": "80e9769d420605206f2670f7df63d379752ff35e",
      "tree": "befe41ebf724f9ee3a23a76b849cb1cb349477ea",
      "parents": [
        "afcdbfb0823af8f9efd06b67f6565477a279e1d4"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Dec 13 14:24:12 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Dec 13 14:31:17 2016 -0800"
      },
      "message": "adb: add script to trace adbd.\n\nBug: http://b/31289465\nTest: sh trace.sh\nChange-Id: Id6e20e83742541aec6bfd9f4112adbdadc078f74\n"
    },
    {
      "commit": "afcdbfb0823af8f9efd06b67f6565477a279e1d4",
      "tree": "4318286929fa68b80543af8936848b2940389656",
      "parents": [
        "5d29bc2b6447845605155888db5ddaf0c59c84e3",
        "e80f47a9e9afc9424436521640856d3906c12139"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 13 04:01:53 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 13 04:01:54 2016 +0000"
      },
      "message": "Merge \"adb: retry install_listener for a while.\""
    },
    {
      "commit": "e80f47a9e9afc9424436521640856d3906c12139",
      "tree": "4318286929fa68b80543af8936848b2940389656",
      "parents": [
        "5d29bc2b6447845605155888db5ddaf0c59c84e3"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 12 18:15:33 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 12 18:20:57 2016 -0800"
      },
      "message": "adb: retry install_listener for a while.\n\ninstall_listener can fail if we told a previous adb server to quit and\nit hasn\u0027t finished doing so yet. Retry it for a few hundred\nmilliseconds to avoid this.\n\nBug: http://b/28618716\nTest: nc -l 5037; adb server nodaemon\nChange-Id: Ibbda8f2718b85a2b6a08985aa8d29aa2204a3ead\n"
    },
    {
      "commit": "5c3e3fbbbedcfdb11daf6a71be99cc809d07b67d",
      "tree": "e5050fe7c6ef3dc9886b48a85c576539f0909ff2",
      "parents": [
        "5d29bc2b6447845605155888db5ddaf0c59c84e3"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Dec 06 14:07:53 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 12 16:47:34 2016 -0800"
      },
      "message": "adb: remove extraneous stat in sync_recv.\n\nWe do a remote stat to get the file\u0027s size before pulling in sync_recv,\nbut all of the callers to sync_recv have already done a stat. Pass the\nexpected file size into sync_recv to remove its stat.\n\nBug: http://b/31289465\nTest: python test_device.py\nChange-Id: I7ca8ed11c6134e5954acac86626f880ade3ec696\n"
    },
    {
      "commit": "5d29bc2b6447845605155888db5ddaf0c59c84e3",
      "tree": "d244565f168feaa89c9ee4d85aa12c1746edf640",
      "parents": [
        "177f50e9edfd7d00a922ede77b8b35682545cc2d",
        "9e09a977c1d5137048b44d587112412ac00572d7"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Dec 13 00:28:09 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 13 00:28:09 2016 +0000"
      },
      "message": "Merge changes from topic \u0027adb_trace\u0027\n\n* changes:\n  adb: add tracing to transport.cpp.\n  adb: clang-format transport.cpp\n  adb: add tracing to file_sync_service.cpp.\n  cutils: add adb trace tag.\n  libutils: allow multiple ATRACE_NAMEs in a scope.\n"
    },
    {
      "commit": "9e09a977c1d5137048b44d587112412ac00572d7",
      "tree": "d244565f168feaa89c9ee4d85aa12c1746edf640",
      "parents": [
        "0d6aa99d15a41717debc4dab724c097d7b5de0b1"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Nov 29 09:40:29 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 12 12:28:45 2016 -0800"
      },
      "message": "adb: add tracing to transport.cpp.\n\nBug: http://b/31289465\nTest: systrace\nChange-Id: I41968f447b61ef1eea2b933a5fd8623605c4dea6\n"
    },
    {
      "commit": "0d6aa99d15a41717debc4dab724c097d7b5de0b1",
      "tree": "ea9d1f23fdb8ce80c4d413917d7b0646f355982c",
      "parents": [
        "14ed70a3fe3d18ed817b58e54e9cbad3ffaa90b0"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Nov 22 14:32:34 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 12 12:28:45 2016 -0800"
      },
      "message": "adb: clang-format transport.cpp\n\nBug: http://b/31289465\nTest: none\nChange-Id: If99a9f1d4d6fa1d34b0ac3bbfc7f2e6bfc188ff2\n"
    },
    {
      "commit": "14ed70a3fe3d18ed817b58e54e9cbad3ffaa90b0",
      "tree": "d1272a2e23b30ef7e6476c6338b738176c79c064",
      "parents": [
        "177f50e9edfd7d00a922ede77b8b35682545cc2d"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Nov 22 14:33:08 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 12 12:28:45 2016 -0800"
      },
      "message": "adb: add tracing to file_sync_service.cpp.\n\nBug: http://b/31289465\nTest: systrace\nChange-Id: I186675ca0310ace0e1d35561fa0b910417dcedd7\n"
    },
    {
      "commit": "177f50e9edfd7d00a922ede77b8b35682545cc2d",
      "tree": "436758e3d7c8c776cdd70deba2b7712ccdfb4ad7",
      "parents": [
        "a2cf37534592043ec3e1e16890ccc3d255fd5ea7",
        "977269a9a9b99937bb225f788bc725cf0f92a443"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Tue Dec 06 15:07:48 2016 -0800"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Tue Dec 06 15:07:48 2016 -0800"
      },
      "message": "Merge remote-tracking branch \u0027goog/stage-aosp-master\u0027 into HEAD\n"
    },
    {
      "commit": "a2cf37534592043ec3e1e16890ccc3d255fd5ea7",
      "tree": "7b82a61e786237af277af1886c6ddc9614f494b2",
      "parents": [
        "75e96bb783f8460ca7e843d6f4906f117719689f"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 05 17:11:34 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 05 17:38:30 2016 -0800"
      },
      "message": "Revert \"Revert \"adb: extend sync protocol\u0027s stat support.\"\"\n\nThis reverts commit 31a96f7fd9189dde01b362f64aceb1bc2097c094.\n\nAdd functions to translate errno to and from the linux asm-generic\nvalues, since mips has different values.\n\nBug: http://b/33058958\nTest: python test_device.py with both old and new adbd\nChange-Id: I1a122235f3e793ed10b3bf3ad293388015134150\n"
    },
    {
      "commit": "75e96bb783f8460ca7e843d6f4906f117719689f",
      "tree": "13fa472dd73add1eb4fc560c3c0c527e3d78231c",
      "parents": [
        "d22b079f60eb6e89c9ae8f0b280c3d5c42415f96"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 05 13:24:48 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 05 17:38:30 2016 -0800"
      },
      "message": "Revert \"Revert \"adb: move adb_strerror to sysdeps/win32/errno.cpp.\"\"\n\nThis reverts commit 4891a152fb860cc8008a8456bb2a594fc40105d1.\n\nTest: mma\nChange-Id: I6b22ead8a4b964973ee2fdb8deba42bea74880cf\n"
    },
    {
      "commit": "977269a9a9b99937bb225f788bc725cf0f92a443",
      "tree": "0880d78aa5f6359e2841431c92ac36e48b053fcd",
      "parents": [
        "a3f1ea78b3c1a44f56e90658a1385ccd7aac9c82",
        "d22b079f60eb6e89c9ae8f0b280c3d5c42415f96"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 05 21:23:46 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 05 21:23:46 2016 +0000"
      },
      "message": "Merge changes Ie7becb64,I02ced540\nam: d22b079f60\n\nChange-Id: I5a94a5050ba8c9add9319c280136e7c5dca4a05b\n"
    },
    {
      "commit": "a3f1ea78b3c1a44f56e90658a1385ccd7aac9c82",
      "tree": "0880d78aa5f6359e2841431c92ac36e48b053fcd",
      "parents": [
        "f41d364f76ab6902d0a7bb3928744e145ad2c49a",
        "31a96f7fd9189dde01b362f64aceb1bc2097c094"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 05 21:23:44 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 05 21:23:44 2016 +0000"
      },
      "message": "Revert \"adb: extend sync protocol\u0027s stat support.\"\nam: 31a96f7fd9\n\nChange-Id: I5fbf0e936685b320d322d4a8e1b1671f2d0da8cf\n"
    },
    {
      "commit": "f41d364f76ab6902d0a7bb3928744e145ad2c49a",
      "tree": "95a1f63f0ec593d28f3a03f0c4eb814cffffed23",
      "parents": [
        "0afae2039a9e3c5dbe46513cae1f4017b7165536",
        "4891a152fb860cc8008a8456bb2a594fc40105d1"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 05 21:23:38 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 05 21:23:38 2016 +0000"
      },
      "message": "Revert \"adb: move adb_strerror to sysdeps/win32/errno.cpp.\"\nam: 4891a152fb\n\nChange-Id: I5a4a050fdbf05910edf2e55dfb8442e30e88464e\n"
    },
    {
      "commit": "d22b079f60eb6e89c9ae8f0b280c3d5c42415f96",
      "tree": "5bf5521de666d284e7c86d172d6519b9796de828",
      "parents": [
        "3e5c19ac8e873ba146dd504309678eecdcd55f06",
        "31a96f7fd9189dde01b362f64aceb1bc2097c094"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 05 21:19:24 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 05 21:19:25 2016 +0000"
      },
      "message": "Merge changes Ie7becb64,I02ced540\n\n* changes:\n  Revert \"adb: extend sync protocol\u0027s stat support.\"\n  Revert \"adb: move adb_strerror to sysdeps/win32/errno.cpp.\"\n"
    },
    {
      "commit": "31a96f7fd9189dde01b362f64aceb1bc2097c094",
      "tree": "5bf5521de666d284e7c86d172d6519b9796de828",
      "parents": [
        "4891a152fb860cc8008a8456bb2a594fc40105d1"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 05 13:16:02 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 05 13:16:02 2016 -0800"
      },
      "message": "Revert \"adb: extend sync protocol\u0027s stat support.\"\n\nThis reverts commit 25a992e758102489e98fbe6b2eb229be580b77e2.\n"
    },
    {
      "commit": "4891a152fb860cc8008a8456bb2a594fc40105d1",
      "tree": "12c762611ef0ee79e30b30628819d726fb3a3117",
      "parents": [
        "3e5c19ac8e873ba146dd504309678eecdcd55f06"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 05 13:15:55 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 05 13:15:55 2016 -0800"
      },
      "message": "Revert \"adb: move adb_strerror to sysdeps/win32/errno.cpp.\"\n\nThis reverts commit 0c8a797169c9a69fab74e859cbbd1bbd2fde5ccf.\n"
    },
    {
      "commit": "0afae2039a9e3c5dbe46513cae1f4017b7165536",
      "tree": "076617bdabe714eb52218e98c9a6d9df52c25be9",
      "parents": [
        "319565bcb43ff6eb87ead4a5324fa9df5cbe4e41",
        "3e5c19ac8e873ba146dd504309678eecdcd55f06"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 05 20:35:42 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 05 20:35:42 2016 +0000"
      },
      "message": "Merge changes I9df4d6fa,I841123de\nam: 3e5c19ac8e\n\nChange-Id: I923d6f507cfba689bc714ce2b8a26aa5ba13a4f9\n"
    },
    {
      "commit": "319565bcb43ff6eb87ead4a5324fa9df5cbe4e41",
      "tree": "076617bdabe714eb52218e98c9a6d9df52c25be9",
      "parents": [
        "aa1131caafc84fd9785e1289b3b00501484db8fd",
        "0c8a797169c9a69fab74e859cbbd1bbd2fde5ccf"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 05 20:35:41 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 05 20:35:41 2016 +0000"
      },
      "message": "adb: move adb_strerror to sysdeps/win32/errno.cpp.\nam: 0c8a797169\n\nChange-Id: Ibdfa8ebbcfee5baf459f82fd13e1a0e8167c5053\n"
    },
    {
      "commit": "aa1131caafc84fd9785e1289b3b00501484db8fd",
      "tree": "95a1f63f0ec593d28f3a03f0c4eb814cffffed23",
      "parents": [
        "3aad519b700754abd8ca025f4898a8535e1ace32",
        "25a992e758102489e98fbe6b2eb229be580b77e2"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 05 20:35:36 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 05 20:35:36 2016 +0000"
      },
      "message": "adb: extend sync protocol\u0027s stat support.\nam: 25a992e758\n\nChange-Id: I26a1518bba4f65c0fdcc7c75d751badd9a3563d3\n"
    },
    {
      "commit": "3e5c19ac8e873ba146dd504309678eecdcd55f06",
      "tree": "108c4d016c193f682913b32a47dedc08bfcb6f92",
      "parents": [
        "7991ba2b2dcd6babfd4f55b0489585f9f25cf3c5",
        "0c8a797169c9a69fab74e859cbbd1bbd2fde5ccf"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 05 20:31:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 05 20:31:55 2016 +0000"
      },
      "message": "Merge changes I9df4d6fa,I841123de\n\n* changes:\n  adb: move adb_strerror to sysdeps/win32/errno.cpp.\n  adb: extend sync protocol\u0027s stat support.\n"
    },
    {
      "commit": "3aad519b700754abd8ca025f4898a8535e1ace32",
      "tree": "0880d78aa5f6359e2841431c92ac36e48b053fcd",
      "parents": [
        "847ddb0603754b072fc2b462deaa9cda8ecf1990",
        "7991ba2b2dcd6babfd4f55b0489585f9f25cf3c5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Dec 03 04:23:10 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Dec 03 04:23:10 2016 +0000"
      },
      "message": "Merge \"Remove unused adb_set_transport.\"\nam: b898ce00fa\n\nChange-Id: Ia428922f1a0241b8d7ec97517d360b02596a9781\n"
    },
    {
      "commit": "7991ba2b2dcd6babfd4f55b0489585f9f25cf3c5",
      "tree": "5bf5521de666d284e7c86d172d6519b9796de828",
      "parents": [
        "cb6497acec3f4aa5989692a3b29aca235847f1de"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 02 12:53:09 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 02 12:53:09 2016 -0800"
      },
      "message": "Remove unused adb_set_transport.\n\nBug: N/A\nTest: builds\nChange-Id: I0824d29c080c47e1002abf3520ebed8996bcbcc6\n"
    },
    {
      "commit": "0c8a797169c9a69fab74e859cbbd1bbd2fde5ccf",
      "tree": "b31caa98ef2815b54828a83e9645cfe4c6c45d24",
      "parents": [
        "25a992e758102489e98fbe6b2eb229be580b77e2"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Nov 30 11:21:22 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Nov 30 13:23:21 2016 -0800"
      },
      "message": "adb: move adb_strerror to sysdeps/win32/errno.cpp.\n\nBug: none\nTest: mma\nChange-Id: I9df4d6faf9883a78f50ca6b2b7c35f095d06ae20\n"
    },
    {
      "commit": "25a992e758102489e98fbe6b2eb229be580b77e2",
      "tree": "9bc9b02f41488133afb12e2ef9414e0ab9b3a4de",
      "parents": [
        "cb6497acec3f4aa5989692a3b29aca235847f1de"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Nov 21 16:06:43 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Nov 30 13:23:21 2016 -0800"
      },
      "message": "adb: extend sync protocol\u0027s stat support.\n\nExtend the file sync protocol to support calling regular stat (instead\nof lstat), return error codes, and provide the entire stat struct.\n\nBug: http://b/33058958\nTest: python test_device.py with both old and new adbd\nChange-Id: I841123debc380f86194a19e91c97d85160112144\n"
    },
    {
      "commit": "847ddb0603754b072fc2b462deaa9cda8ecf1990",
      "tree": "ded19c8d0b9c317764f04345005da993d7368211",
      "parents": [
        "42778a799d5555bd8e7cf27d53f3669343868d21",
        "cb6497acec3f4aa5989692a3b29aca235847f1de"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Nov 29 18:18:49 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 29 18:18:49 2016 +0000"
      },
      "message": "adb: be more permissive in test_push_error_reporting.\nam: cb6497acec\n\nChange-Id: I1239b5af85edca9ae6fa1a38f755b5707bbc614b\n"
    },
    {
      "commit": "42778a799d5555bd8e7cf27d53f3669343868d21",
      "tree": "66de0c13eec5603a4dbd2860cee053e7b9056604",
      "parents": [
        "cbb5d3ee45f3acbe1dff3a7e2cb58e9b1e3ae209",
        "8998a8dfcec363023a3c94c80c6563abad8b0221"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Nov 29 18:18:44 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 29 18:18:44 2016 +0000"
      },
      "message": "adb: make sure that file mode macros match linux.\nam: 8998a8dfce\n\nChange-Id: I39a6938adc8b9b1da0185d36a1891f755bf2ca38\n"
    },
    {
      "commit": "cb6497acec3f4aa5989692a3b29aca235847f1de",
      "tree": "bcd861f56ff172adc2932142b130bcbd618f9f92",
      "parents": [
        "8998a8dfcec363023a3c94c80c6563abad8b0221"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Nov 18 15:31:11 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Nov 21 18:39:21 2016 -0800"
      },
      "message": "adb: be more permissive in test_push_error_reporting.\n\nBe agnostic to whether /system is writable when testing push error\nreporting.\n\nTest: python test_device.py\nChange-Id: I1d03564fa35442c20e2c96a7f5b56d39868efc52\n"
    },
    {
      "commit": "8998a8dfcec363023a3c94c80c6563abad8b0221",
      "tree": "f407cc8ea24c18bff2354e22c1131a70435025bb",
      "parents": [
        "de5785da7a7399c8c1860397b2a90c2072287661"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Nov 18 15:17:07 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Nov 21 18:39:21 2016 -0800"
      },
      "message": "adb: make sure that file mode macros match linux.\n\nWe use \u003csys/stat.h\u003e mode macros on the host to parse modes sent over\nfrom the device, so they had better match. Add static_asserts to ensure\nthis.\n\n(Also, fix the cases where they don\u0027t.)\n\nTest: mma -j48, compiled the static_asserts on darwin manually\nChange-Id: I883e4e6c7489ea64d3c02d26790ac8293366d989\n"
    },
    {
      "commit": "cbb5d3ee45f3acbe1dff3a7e2cb58e9b1e3ae209",
      "tree": "6e9720c34048872ab175101dd07c9831ff34a3f4",
      "parents": [
        "c5603bca54bce387af64390510a2839f2d75cef0",
        "de5785da7a7399c8c1860397b2a90c2072287661"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Nov 18 02:17:56 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 18 02:17:56 2016 +0000"
      },
      "message": "Merge \"adb: fix progress percentage when pulling symlinks.\"\nam: de5785da7a\n\nChange-Id: I3789390531b46c7dc5ac6796e62e6e43bba3bcca\n"
    },
    {
      "commit": "de5785da7a7399c8c1860397b2a90c2072287661",
      "tree": "ff4e57ee2fb27082220b57b3e3128e366735427a",
      "parents": [
        "8b6f35abf2f280bd359d446998a272c21a4778a6",
        "4459c139438a5df2de40134347e3f7678b3ee9d8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 18 02:13:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 18 02:13:19 2016 +0000"
      },
      "message": "Merge \"adb: fix progress percentage when pulling symlinks.\""
    },
    {
      "commit": "4459c139438a5df2de40134347e3f7678b3ee9d8",
      "tree": "8858368ece62c251825e4047e80dcf469e3f6847",
      "parents": [
        "70267e45d4709e201a41654751196b3a6c0c0acf"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Nov 17 16:02:36 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Nov 17 16:17:07 2016 -0800"
      },
      "message": "adb: fix progress percentage when pulling symlinks.\n\nThe adb protocol currently only supports lstat with no way of finding\nthe target of a symlink, so pulling a symlink that points to a file\nlooks like pulling a file with length equal to the length of path to\nthe symlink\u0027s target. Pulling a file that\u0027s sufficiently large can\noverflow the int used to calculate percentage, and result in a bogus\ncompletion percentage being displayed.\n\nBug: http://b/29277448\nTest: adb pull /dev/block/platform/soc.0/f9824900.sdhci/by-name/system\nChange-Id: I42d180550ac2aa9e4705676ccbb20f5db789fb8d\n"
    },
    {
      "commit": "c5603bca54bce387af64390510a2839f2d75cef0",
      "tree": "0d19399288f2c41f7f5eb47eea0cb88b09ce537b",
      "parents": [
        "765444d41c61b89e6612059764ac75d21cccdad6",
        "8b6f35abf2f280bd359d446998a272c21a4778a6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 17 20:39:22 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 17 20:39:22 2016 +0000"
      },
      "message": "Merge \"Remove dead code.\"\nam: 8b6f35abf2\n\nChange-Id: Ib748fef3e54687c2da1818a7cd738f31e30b79ac\n"
    },
    {
      "commit": "8b6f35abf2f280bd359d446998a272c21a4778a6",
      "tree": "0f0723d1c61854cf4d4e35e0273e634319a730e4",
      "parents": [
        "70267e45d4709e201a41654751196b3a6c0c0acf",
        "fd20a0f08691b4dac7e14a5bb9296687d1745135"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 17 20:29:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 20:29:10 2016 +0000"
      },
      "message": "Merge \"Remove dead code.\""
    },
    {
      "commit": "fd20a0f08691b4dac7e14a5bb9296687d1745135",
      "tree": "de2d829999c4399399e203fa45251a08f189c276",
      "parents": [
        "8833f14f22be9dac7f4052f840947f9908b37e7c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 17 10:32:16 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 17 10:32:16 2016 -0800"
      },
      "message": "Remove dead code.\n\nAt this point, we can\u0027t write to oom_score_adj anyway.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d227721\nTest: boots, adb shell still works\nChange-Id: I07e6ad32765f6582f316973547a3a3d552808287\n"
    },
    {
      "commit": "765444d41c61b89e6612059764ac75d21cccdad6",
      "tree": "1272a7d5a7dce42efd65f35fb9f9c0b4af9b2c28",
      "parents": [
        "13524ebb190ac295d998e413c5d08b37394f3886",
        "70267e45d4709e201a41654751196b3a6c0c0acf"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Nov 16 22:29:30 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 16 22:29:30 2016 +0000"
      },
      "message": "Merge \"adb: add sysdeps/chrono.h for chrono literals on Win32.\"\nam: e631e470e0\n\nChange-Id: Ie62e995d9790bf7539f3f9fca05de7b4b359dc7c\n"
    },
    {
      "commit": "70267e45d4709e201a41654751196b3a6c0c0acf",
      "tree": "9ad01d59ae3f36f80e364e0056aa2884280e728a",
      "parents": [
        "73925985f72b9b6dde4e692732dcc35958ca4ec8"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Nov 15 18:55:47 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Nov 16 12:14:59 2016 -0800"
      },
      "message": "adb: add sysdeps/chrono.h for chrono literals on Win32.\n\nBug: http://b/32878766\nTest: mma\nChange-Id: Iaa89d4eadf07e63d6d7205057435a6c7fb5d4ec5\n"
    },
    {
      "commit": "13524ebb190ac295d998e413c5d08b37394f3886",
      "tree": "51cd0ed6d6ab1173933e0624b77193d30646b28f",
      "parents": [
        "100f30bc11c65815279295d3223c9c6e7cad1d13",
        "73925985f72b9b6dde4e692732dcc35958ca4ec8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 16 20:14:20 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 16 20:14:20 2016 +0000"
      },
      "message": "Merge \"Switch adb over to \u003cchrono\u003e.\"\nam: 59826ddee5\n\nChange-Id: I673ce3c9f4a104df3197ec7120a126155e18918e\n"
    },
    {
      "commit": "73925985f72b9b6dde4e692732dcc35958ca4ec8",
      "tree": "8bd909f062f7b3014c06c0cc64cebe01c71a1348",
      "parents": [
        "8833f14f22be9dac7f4052f840947f9908b37e7c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 15 12:37:32 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 16 09:12:12 2016 -0800"
      },
      "message": "Switch adb over to \u003cchrono\u003e.\n\nClearer code, and lets us lose some more portability cruft.\n\nBug: http://b/32878766\nTest: manual\nChange-Id: Ie44928bbf8d68a74127aaf76e7e0060e25fa2cc8\n"
    },
    {
      "commit": "100f30bc11c65815279295d3223c9c6e7cad1d13",
      "tree": "f68e5e462db90c6f979c2082adb3d56bfe1f4295",
      "parents": [
        "28227bd5913b91aa1f906951852ecaed79f71b74",
        "8833f14f22be9dac7f4052f840947f9908b37e7c"
      ],
      "author": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Thu Nov 03 17:29:31 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 03 17:29:31 2016 +0000"
      },
      "message": "Merge \"Set file capabilities after writing file data\"\nam: dd4e5ae943\n\nChange-Id: I135c6ebf4fc9b11a7ed9798be1ce0a88862386a5\n"
    },
    {
      "commit": "8833f14f22be9dac7f4052f840947f9908b37e7c",
      "tree": "9e191d3f07826d084e58287ec03475b0f150a229",
      "parents": [
        "950743f7e4da42f26541e26fc5783e5eedd790df"
      ],
      "author": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Wed Nov 02 16:27:17 2016 -0700"
      },
      "committer": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Wed Nov 02 16:37:11 2016 -0700"
      },
      "message": "Set file capabilities after writing file data\n\nFile capabilities will be cleared if we set them before writing file data.\n\nBug: 32543395\n\nChange-Id: I88cc0a0ec23cd6fc6dbe86c93a76914809d7e5f9\n"
    },
    {
      "commit": "28227bd5913b91aa1f906951852ecaed79f71b74",
      "tree": "000e2dcf87b523a7088edd6580a0baadeb6197f5",
      "parents": [
        "8caa1925968f4d4ced02be10a71b1527a7b0a807",
        "950743f7e4da42f26541e26fc5783e5eedd790df"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Oct 31 21:33:19 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 31 21:33:19 2016 +0000"
      },
      "message": "Merge \"adb: add `adb reconnect offline` to reconnect offline devices.\"\nam: 950743f7e4\n\nChange-Id: I832f5c97f455b2b38b4bcd734759cb9561ec9b31\n"
    },
    {
      "commit": "950743f7e4da42f26541e26fc5783e5eedd790df",
      "tree": "29cdf88cf9c47d5cf435e6d4966e5906ab4b93ab",
      "parents": [
        "679285afea6b6449244cf33047cae552fa0e230c",
        "4e56250f5ff70c2f48c43440b2d493e1f3863af9"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Oct 31 21:26:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 31 21:26:23 2016 +0000"
      },
      "message": "Merge \"adb: add `adb reconnect offline` to reconnect offline devices.\""
    },
    {
      "commit": "4e56250f5ff70c2f48c43440b2d493e1f3863af9",
      "tree": "2931ef88240b5514005e95acb2b4eca0455c5bff",
      "parents": [
        "87eca0517baf580d101483ec76a24d82ebeb1cc6"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Oct 27 14:01:08 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Oct 27 17:13:23 2016 -0700"
      },
      "message": "adb: add `adb reconnect offline` to reconnect offline devices.\n\nAdd a command to reconnect offline/unauthorized devices, mainly for use\nwith the inotify-monitoring of vendor key directories added by 22cb70bd.\n\nBug: http://b/29273531\nTest: manually tested with a sailfish + copying vendor keys\nChange-Id: If34cccee4ae553ada65d128b57d03cba8c0d7c46\n"
    }
  ],
  "next": "8caa1925968f4d4ced02be10a71b1527a7b0a807"
}
