)]}'
{
  "log": [
    {
      "commit": "90228a63bb6a59e8195165fbb7c332be27459696",
      "tree": "627a2f393951cc4f4b0b307c04e1d09b8eda942e",
      "parents": [
        "527a1b3a82b4038bb86e9b43c00b76283e1350d2"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 25 14:04:57 2019 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon May 06 16:18:02 2019 -0700"
      },
      "message": "Revert \"Revert \"Add a way to turn off unique_fd\u0027s operator int.\"\"\n\nThe original commit broke aosp-master-with-phones, because of\nvendor libraries the depended on the int versions of libbase functions.\n\nThis patch reverts the revert, and also adds ABI-compatibility shims for\nthe replaced functions.\n\nThis reverts commit dfdf916d09f6583d3fd1db1e33c79ed60bff2480.\n\nBug: http://b/131312539\nTest: treehugger\nTest: forrest run of aosp-master-with-phones\nChange-Id: I75cc84ec8d963e20862f7662e8e2f409471f41cc\n"
    },
    {
      "commit": "dfdf916d09f6583d3fd1db1e33c79ed60bff2480",
      "tree": "8e02ad6551dcc3593b5105963c1d1d5a72fceefc",
      "parents": [
        "6bc77009177ba2de4c25a2c8f17bee826c0540a3"
      ],
      "author": {
        "name": "Ian Kasprzak",
        "email": "iankaz@google.com",
        "time": "Thu Apr 25 15:59:28 2019 +0000"
      },
      "committer": {
        "name": "Ian Kasprzak",
        "email": "iankaz@google.com",
        "time": "Thu Apr 25 15:59:28 2019 +0000"
      },
      "message": "Revert \"Add a way to turn off unique_fd\u0027s operator int.\"\n\nThis reverts commit 6bc77009177ba2de4c25a2c8f17bee826c0540a3.\n\nReason for revert: b/131312539 - All aosp-master-with-phones phones failing boot / health check.\n\nChange-Id: Id4239f93484b7d6b8d9bcd355a59cbd40d9766e2\n"
    },
    {
      "commit": "6bc77009177ba2de4c25a2c8f17bee826c0540a3",
      "tree": "97b63d6b7c86394ab0a1dc40eedca8f7ce305378",
      "parents": [
        "4c0c9c90e1ae4fb8ef7312833a825bc3c3bee62b"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 18 16:39:30 2019 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 24 12:59:42 2019 -0700"
      },
      "message": "Add a way to turn off unique_fd\u0027s operator int.\n\nunique_fd\u0027s implicit conversion to int has led to tons of problems (see\nall of the overloads for close, fdopen, fdopendir, etc.). Add a switch\nthat can turn it off, and reduce the ridiculous amount of work to fix up\ncallers by introducing a borrowed_fd type that can be constructed from\neither int or unique_fd.\n\nTest: treehugger\nChange-Id: If77cf5cbcaddacdaec5919a15b3520fb68f51a62\n"
    },
    {
      "commit": "076b5ba66769df47d315d81b66516491a7fc8eba",
      "tree": "2ed83a09a184eef9b64a80d66882f0303f4025cb",
      "parents": [
        "c7b745936508f72edae94ca3300ee51705cbe75c"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Jul 25 16:07:26 2018 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Jul 25 18:08:44 2018 -0700"
      },
      "message": "adb: split shell_service.h into client/daemon/protocol parts.\n\nTest: treehugger\nChange-Id: I67042f6b29a8a07619b8d56e7376d49b956a840c\n"
    },
    {
      "commit": "f55ead962f2257312af08fe730ef9d3f3d988e76",
      "tree": "75488c67fc418f771691c0aa9caa88346126ed75",
      "parents": [
        "b13dd00d883d02dfef1a403caa63501ddca50a09"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 04 22:00:26 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 04 22:00:26 2015 -0800"
      },
      "message": "Track rename of base/ to android-base/.\n\nChange-Id: Idf9444fece4aa89c93e15640de59a91f6e758ccf\n"
    },
    {
      "commit": "ff4445614bf25322195741000720b5cec737c2b5",
      "tree": "87caa1ed4a94d155927d0c5d456ed376fb008856",
      "parents": [
        "c42c8cb977dcde2ff41dcf322eb2b4568afd8665"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 16 10:55:34 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 16 10:55:34 2015 -0800"
      },
      "message": "Pass $TERM to the device.\n\nUnfortunately, this isn\u0027t backwards-compatible with the current shell\nprotocol because we made unknown shell: arguments errors. We could try\nto commit the change to make them just warnings first, but how would\nwe know when everyone was running adbd with that change? Bumping the\nprotocol version doesn\u0027t help because that only affects the code running\non the host. And although we could add another feature to the reported\nfeatures, since shell_v2 is still in development, that doesn\u0027t seem\nworthwhile.\n\nBug: http://b/25601436\nChange-Id: I12b81aa656cd25b91d14ef691dcbd2b7dab49535\n"
    },
    {
      "commit": "a826579d6d8fd4b96ee2dde74ea83bd226dda654",
      "tree": "0718901b08380db487341a85f28bc39f11d9244d",
      "parents": [
        "6a9234481f5ca4a30ced8c23a77e25b091f0425d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 03 11:18:40 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 04 10:45:11 2015 -0800"
      },
      "message": "adb shell SIGWINCH support.\n\nBug: http://b/19734542\nChange-Id: Ic9404a132cb9c42cb6a378bcd4b3dea9188d0a44\n"
    },
    {
      "commit": "3fe11f6bb3a4bf130bf35f1abcedbe51da73f622",
      "tree": "1c4e48deccf2ffdc06e2c22bf9a5a12862ea6cba",
      "parents": [
        "edbc20fc84d6ffb6455e2a2dd0ae471bdd87607b"
      ],
      "author": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Tue Oct 06 15:30:03 2015 -0700"
      },
      "committer": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Thu Oct 15 09:44:54 2015 -0700"
      },
      "message": "adb: non-interactive shell stdin.\n\nNon-interactive `adb shell` previously only read from the remote shell,\nbut we want it to write as well so interactive and non-interactive\nshells can both send data. With this CL, we can now do:\n  $ echo foo | adb shell cat\n  foo\n\nThis is primarily usable with newer devices that support the shell_v2\nfeatures. Older devices will receive stdin but the shell will still\nhang after all input has been sent, requiring user Ctrl+C. This seems\nbetter than closing communication altogether which could potentially\nmiss an unpredictable amount of return data by closing too early.\n\nKnown issue: non-interactive stdin to a PTY shell isn\u0027t reliable.\nHowever I don\u0027t think this is a common case as ssh doesn\u0027t seem to\nhandle it properly either. Examples:\n  * echo \u0027echo foo\u0027 | adb shell\n  * echo \u0027foo\u0027 | adb shell -t cat\n\nBug: http://b/24565284\nChange-Id: I5b017fd12d8478765bb6e8400ea76d535c24ce42\n"
    },
    {
      "commit": "8da19a4b7952376f81b74177f80411210c49a9c6",
      "tree": "0db5b47f7c09702433226e54a7fd140df99819b6",
      "parents": [
        "f31b3b23eaa262e478f28868ce8fb1bb014f41df"
      ],
      "author": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Mon Aug 31 10:42:13 2015 -0700"
      },
      "committer": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Fri Sep 11 11:27:50 2015 -0700"
      },
      "message": "adb: implement shell protocol.\n\nAdds functionality for handling stdin/stdout/stderr streams and exit\ncodes using the shell protocol.\n\nThis CL just contains implementation for adbd which will not yet be\nenabled. Once we have the ability to query transport features from the\nadb client, another CL will add the implementation for the client side\nand update the feature list to turn this on.\n\nNote: this CL must be submitted together with a minadbd CL to update\nthe service_to_fd() function signature.\n\nBug: http://b/23030641\n\nChange-Id: Ibed55e9c1946d8a35190696163ff63e8fb880238\n"
    },
    {
      "commit": "d0df2dd4ff3457e4ab75c672056840d0d3dd02e0",
      "tree": "4f9f859d8cc702e62e593fdcf3ba1473f5affcf6",
      "parents": [
        "38e289fa08f56a84267132266f7c2a8ea81830cc"
      ],
      "author": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Mon Aug 31 15:36:18 2015 -0700"
      },
      "committer": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Tue Sep 08 10:04:10 2015 -0700"
      },
      "message": "adb: create shell protocol class (take 2).\n\nAdds a new class ShellProtocol to help read and write data with\n`adb shell`. This will allow splitting streams and sending out-of-band\ndata such as exit codes.\n\nNothing uses the new class yet except the unit tests.\n\nThis is the second attempt at this CL, the first is at\nhttp://r.android.com/169600. The problems was using sighandler_t\nwhich is not available on mac. sig_t is used instead which is available\ndue to _GNU_SOURCE being defined in Android.mk, which causes\n_BSD_SOURCE -\u003e __USE_BSD -\u003e sig_t to be defined. Nothing else has been\nchanged from the original CL.\n\nBug: http://b/23030641\nChange-Id: I7bd7f5a82ad811fbca7a3eee1236d2c55ae57c48\n"
    },
    {
      "commit": "4ef32190e8708ec8c640225dada95f187653cd9c",
      "tree": "43b32b14332091d10728ee0a211af2c04d67ca69",
      "parents": [
        "5aba4b04a36f508106beedd7ee7c922b8d2af6e6"
      ],
      "author": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Sun Sep 06 01:18:47 2015 +0000"
      },
      "committer": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Sun Sep 06 01:18:47 2015 +0000"
      },
      "message": "Revert \"adb: create shell protocol class.\"\n\nThis CL broke the mac build. I\u0027ll revert for now and take a look at how to get it working next week.\n\nThis reverts commit 5aba4b04a36f508106beedd7ee7c922b8d2af6e6.\n\nChange-Id: Icb3e015250bcbbc69a45675a1358699ebe01e77b\n"
    },
    {
      "commit": "5aba4b04a36f508106beedd7ee7c922b8d2af6e6",
      "tree": "44ba9f2198982840b3397efef11faea12c9d4876",
      "parents": [
        "917dcfa6aa439183d10fc74371e26149a9f472a6"
      ],
      "author": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Mon Aug 31 15:36:18 2015 -0700"
      },
      "committer": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Fri Sep 04 11:30:11 2015 -0700"
      },
      "message": "adb: create shell protocol class.\n\nAdds a new class ShellProtocol to help read and write data with\n`adb shell`. This will allow splitting streams and sending out-of-band\ndata such as exit codes.\n\nNothing uses the new class yet except the unit tests.\n\nBug: http://b/23030641\n\nChange-Id: Ieb02e127095c6dda25b7cb188a2e599173fd97e6\n"
    },
    {
      "commit": "4f344bb156137ee7d5824b72e5d96f8aa93cde55",
      "tree": "26d946edf2cce0d259e03039abcafbf251804fc0",
      "parents": [
        "c5d51620cf959101a335f659998ee1b3141aa2d7"
      ],
      "author": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Fri Aug 28 15:08:49 2015 -0700"
      },
      "committer": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Fri Sep 04 08:52:35 2015 -0700"
      },
      "message": "adb: move shell service to a separate file.\n\nUpcoming changes to the shell will require significant additions to\nthe subprocess code, and it will be cleaner if it\u0027s in a separate file.\n\nThe only functional change here is a new debug tag specifically for\nthe shell service. Everything else has been copied exactly as-is in\norder to make it easier to determine what\u0027s changing in upcoming CLs.\n\nChange-Id: I13bd4294059051ee10e0d0c6a06affd8eca62967\n"
    }
  ]
}
