)]}'
{
  "log": [
    {
      "commit": "e2f32340d2d852c7d43a2ef07c74faac0d0f7ee5",
      "tree": "ccd9752029e49e7ae441264e3f9f4e63c0331ba6",
      "parents": [
        "c7a409036e606a1d0cace8b066ef9a87e61c5b48"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Tue Mar 26 11:58:53 2019 -0700"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Tue Mar 26 12:00:19 2019 -0700"
      },
      "message": "adb: Avoid extra std::string copies\n\nWhen a function argument takes a std::string, it\u0027s inefficient to\npass std::string::c_str(), since that creates an additional copy.\nSo we change these calling sites.\n\nTest: TreeHugger\nChange-Id: I1c0fde7275eb3ebd3baf05ec62581b0243655608\n"
    },
    {
      "commit": "17fb31728440534b27fcf734039bf5a7100fa671",
      "tree": "5d9f5eea8909c27349862c7b2d8ee000c1ee9727",
      "parents": [
        "225ac4be02b971d65ac900f2dbbc1d945a0591f4",
        "8c9a27c73eba32471ec75cf78c9bed5389fa9c41"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 22 22:41:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 22 22:41:26 2017 +0000"
      },
      "message": "Merge \"Don\u0027t preserve file attributes when pulling bugreport file...\""
    },
    {
      "commit": "b39e415aa8c6383efdd02ab62bf2c523ebd1878c",
      "tree": "93274b5c26009892d196c6ce6e75ace291801a47",
      "parents": [
        "eaae54eda90389267fba498181e35c53e9135bbd"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Aug 16 16:57:01 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Aug 21 14:15:06 2017 -0700"
      },
      "message": "adb: allow selection of a specific transport.\n\nExtend device selection to allow selecting a specific transport via\nmonotonically increasing identifier (visible in devices -l).\n\nThis is useful when using multiple devices (like hikey960...) that\nhave identical bogus serial numbers like 0123456789ABCDEF.\n\nBug: http://b/37043226\nTest: adb -t {1, 2, 9999999} {get-serialno, shell, features}\nChange-Id: I55e5dc5a406a4eeee0012e39b52e8cd232e608a6\n"
    },
    {
      "commit": "8c9a27c73eba32471ec75cf78c9bed5389fa9c41",
      "tree": "07da51f7eefd104c2562972e9f5b2f24797e1e3a",
      "parents": [
        "3bb1b57f4c4a2e97ce4bf34801a5e1fcd7c5ee1c"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Aug 15 18:09:54 2017 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Aug 15 18:11:38 2017 -0700"
      },
      "message": "Don\u0027t preserve file attributes when pulling bugreport file...\n\n...otherwise it could have weird dates when the device clock is wrong.\n\nTest: m -j32 adb \u0026\u0026 ./out/host/linux-x86/bin/adb bugreport test.zip \u0026\u0026 ls -l test.zip\nTest: m -j32 adb_test \u0026\u0026 ./out/host/linux-x86/nativetest64/adb_test/adb_test\n\nFixes: 63927360\n\nChange-Id: I3f87277f1acb97212a87b89639e42b6d7d300faa\n"
    },
    {
      "commit": "222fae0cf16297f01b16709b38e0d213d826b009",
      "tree": "00fc42c3882f434efb96d813c32510431e379cbe",
      "parents": [
        "d336a1661ce899e9283b5ce3263937c8aa095198"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue May 23 16:56:47 2017 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue May 23 16:58:16 2017 -0700"
      },
      "message": "Always print the initial bugreport progress message.\n\nOtherwise, it might take seconds to display the initial percentage,\nand the user might thing something is wrong and CTRL-C the process.\n\nFixes: 62003852\nTest: added BugreportTest.OkProgressZeroPercentIsNotIgnored\nTest: m -j32 adb_test \u0026\u0026 ./out/host/linux-x86/nativetest64/adb_test/adb_test --gtest_filter\u003dBugreportTest.*\n\nChange-Id: I8e7dbb28666c825c1408d5d204f813064fc3048f\n"
    },
    {
      "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": "e87fdfae81c5f1ccc649620de1665a7360dc07fc",
      "tree": "cd4269d3f4fa2e3312df664f2a3fd52d89e54292",
      "parents": [
        "fa236ded29b8f9d35122ecf91fd1c1645ba5173a"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Aug 15 16:01:58 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Aug 30 13:06:37 2016 -0700"
      },
      "message": "DO NOT MERGE: Split \u0027generating\u0027 and \u0027pulling\u0027 in 2 messages.\n\nBUG: 30799929\nChange-Id: I0af0ad2478c57ffc5b2c953118e01677f788d14a\n(cherry picked from commit 9c0be90528baee54182334048af467e3dde74d72)\n(cherry picked from commit 4fa67e19ac800d79fb987bf645286d6dcddd2887)\n"
    },
    {
      "commit": "fa236ded29b8f9d35122ecf91fd1c1645ba5173a",
      "tree": "ea907c3331062e382af865d88e6e0844d7448b44",
      "parents": [
        "e4893a2c9c98b12c3204579507cf968fcd5c1bb1"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Aug 04 12:03:06 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Aug 30 13:06:35 2016 -0700"
      },
      "message": "DO NOT MERGE: Ignore bugreportz output when it\u0027s not supported.\n\nOn devices running M or below, calling \u0027bugreportz -v\u0027 writes\n\u0027/system/bin/sh: bugreportz: not found\u0027 in the stdout output, which must\nbe redirected to stderr so it\u0027s not shown in the flat-file bugreport,\nabove the bugreport header.\n\nBUG: 30451114\n\nChange-Id: I942c92fdf6ae85e0cde7b9f94b9eb0b1fecad77a\n(cherry picked from commit 3594184e1bab75324c1638d98f411af9ea6770d5)\n(cherry picked from commit 1fc578cede6a3c9ae9a85d8fbcfb44f04cf7b1d5)\n"
    },
    {
      "commit": "e4893a2c9c98b12c3204579507cf968fcd5c1bb1",
      "tree": "e87c0285a50daa4270b15890a52912cdf05e3098",
      "parents": [
        "ab62b55acec11f89de43648eb3bd973fddb47947"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Fri Jul 29 17:57:00 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Aug 30 13:06:33 2016 -0700"
      },
      "message": "DO NOT MERGE: Deprecated \u0027adb bugreport\u0027 with flat files.\n\nStarting on Android N, zipped bugreports contain more information than\nflat-file, text bugreports. On N, calls to \u0027adb bugreport\u0027 would still\ngenerate a flat-file bugreport, but with a warning.\n\nWith this change, \u0027adb bugreport\u0027 will generate a zipped bugreport in\nthe current directory, using the bugreport name provided by the\ndevice. Similarly, calling \u0027adb bugreport dir\u0027 will generate a bugreport\nwith a device-provided name, but in such directory.\n\nBUG: 30451114\nBUG: 29448020\n\nChange-Id: Ibc8920dd44a5f62feb15bf3fefdcb0bdbf389a90\n(cherry picked from commit 87e385a7b0fdcc1d8c2a420eaa5857d23f908898)\n(cherry picked from commit 8582c5d7df257446783396fb115ea403236ec396)\n"
    },
    {
      "commit": "ab62b55acec11f89de43648eb3bd973fddb47947",
      "tree": "720bdf310c042324ff647ab05401153041d40e3e",
      "parents": [
        "954af84385acda4b27b7fc03e92a17f585483ad7"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Fri Jul 29 15:47:00 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Aug 30 13:06:32 2016 -0700"
      },
      "message": "DO NOT MERGE: Minor improvements on bugreport generation.\n\n- Skipped artificial 100/100 message, since pulling will take care of\n  the final 100% progress.\n- Consolidated unsupported lines in just one message.\n- Let user know the bugreport can still be recovered when it could not\n  be copied to the destination directory.\n\nBUG: 30451114\n\nChange-Id: Icfce9c1e8e7ed407719728b9874679ac40b21eab\n(cherry picked from commit 3656f15057893c4e288e894a96dc9cf23cd14a87)\n(cherry picked from commit 93fffb88ee81b6b8cb907e21290b36343c8a17ea)\n"
    },
    {
      "commit": "954af84385acda4b27b7fc03e92a17f585483ad7",
      "tree": "1770008a8d874bf2d010f47483a378f0a8bcc9a9",
      "parents": [
        "e53b12b81dedf4d55578780d8da163dc4df6111f"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Jul 27 19:23:09 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Aug 30 13:06:30 2016 -0700"
      },
      "message": "DO NOT MERGE: Removed extra \u0027pulling file\u0027 message.\n\nTaking a zip bugreport has 2 phases: generating the bugreport and\npulling the file.\n\nInitially adb was printing 2 messages, but since the latter is almost\ninstantaneously, it could be confusing to have 2 lines...\n\nFixes: 30451250\nChange-Id: I1c6cc6163492c1fb6064667dfdb7aaf6ed4c4c6f\n(cherry picked from commit a4b51ed7f86a3b233ea7fb1d6b2153250076b3c1)\n(cherry picked from commit 9143a8076315c3fc266d5af59ab3f176f686dbc8)\n"
    },
    {
      "commit": "e53b12b81dedf4d55578780d8da163dc4df6111f",
      "tree": "2a44c4e4dd6119a9d58eaa260c554d2aad0f2164",
      "parents": [
        "60192aa7f2b134d6db6b11c68526803f4f7fed9f"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Jul 26 12:23:40 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Aug 30 13:06:28 2016 -0700"
      },
      "message": "DO NOT MERGE: Show bugreport progress.\n\nadb calls bugreportz to generate a bugreport; initially, bugreportz\nwould only report the final status of the operation (OK or FAIL), but\nnow it sends intermediate PROGRESS lines reporting its progress (in the\nform of current/max).\n\nSimilarly, the initial implementation of \u0027adb bugreport \u003czip_file\u003e\u0027\nwould print an initial \u0027please wait\u0027 message and wait for the full\nstdout before parsing the result, but now it uses a new callback class\nto handle the stdout as it is generated by bugreportz.\n\nBUG: 28609499\n\nChange-Id: I6644fc39a686279e1635f946a47f3847b547d1c1\n(cherry picked from commit 1e3df205b0f3ccfdfad94e69b6b28e0a0596455b)\n(cherry picked from commit 5b78699f804c9fedb5f8ce757239270b266d17ff)\n"
    },
    {
      "commit": "60192aa7f2b134d6db6b11c68526803f4f7fed9f",
      "tree": "c5d15e3e76f19c3a7d209ae4bca459cd8a04083f",
      "parents": [
        "042c351ae04d355a65d4dcf970b497379ad9e65e"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Jul 26 12:14:39 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Aug 30 13:06:26 2016 -0700"
      },
      "message": "DO NOT MERGE: Refactored functions that copy sdout and stderr to strings to use a callback.\n\nBUG: 28609499\n\nChange-Id: I04aea346e18678ea00797f7f659480edba4436c2\n(cherry picked from commit cc6ebb58e9980a7ac271450c7f34102a6eba7c62)\n(cherry picked from commit ed602edefebb3477a727a77b341e3d7107152179)\n"
    },
    {
      "commit": "042c351ae04d355a65d4dcf970b497379ad9e65e",
      "tree": "694ca45a8cdb7b5d67dbd9be0ce5b86ccd129f4a",
      "parents": [
        "8c5cf6280e69429c4e22f85bb24f805d2bfe5c4f"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Jul 19 17:07:22 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Aug 30 13:06:23 2016 -0700"
      },
      "message": "DO NOT MERGE: Split bugreport() into its own file and added unit tests.\n\nbugreport() will be soon refactored to track progress, which will\nrequire more comprehensive unit tests.\n\nAs such, it\u0027s better to move it to its own files, which in turn also\nrequires moving send_shell_command() and usage() to commandline.h.\n\nFixes: 30100363\nBug: 30268737\n\nChange-Id: I3cdf114a0b5547293320042ff0749a60886440b0\n(cherry picked from commit a9be4f3b16ca3af7bb5ee3c09c0f511d6a0d1a5b)\n(cherry picked from commit b9f1b1cf41f3c9e28b630c4e3656aef4f08e85be)\n"
    }
  ]
}
