)]}'
{
  "log": [
    {
      "commit": "64f355ffbd715a3c8b467c3b37701ad404b566b4",
      "tree": "04e1e9ddac688de976ae427ece327ee1c68afeb5",
      "parents": [
        "3ba327198a42eecd2fbc2556d7d0fa41f8d6b17b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 30 16:10:24 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 14 10:07:27 2017 -0800"
      },
      "message": "Use in_addr in ip_mreq_source and ip_msfilter.\n\nThis adds a new mechanism to say \"replace struct S with #include \u003cbits/S.h\u003e\".\n\nAlso switch epoll_event over to the new mechanism.\n\nAlso use the kernel\u0027s struct sockaddr_storage directly rather than behind\nan unnecessary #define.\n\nThis patch also removes some dead code in the header scrubber. This code\nstill needs rewriting completely. I learned that a \"block\" isn\u0027t necessarily\na single struct definition, say; it might be a run of them. It seems like\na block is a run of preprocessor directives or a run of regular code.\n\nBug: https://issuetracker.google.com/36987220\nTest: new test\nChange-Id: Ic6a5c09559766a4babe3cd4c3ea538b885e07308\n"
    },
    {
      "commit": "96c1db7b9d601c31d103389cac074a6cce0d7633",
      "tree": "510f40be13090fa582b61aed7c3eb7e70d3ff559",
      "parents": [
        "6c01208e902b18aad4b0254ccb95b94a2b5fc341"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 25 13:48:01 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 25 13:48:01 2017 -0700"
      },
      "message": "Remove the repetitive warnings from the uapi headers.\n\nHaving\n\n  WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS\n\nevery four lines made the headers harder to read, made the diffs much worse\neach time we upgraded, and wasn\u0027t really providing any benefit. Before the\nnext uapi update, let\u0027s just stop doing this.\n\nBug: N/A\nTest: builds, manually inspected files look right\nChange-Id: Id7088cf750894c9d24950f3d53587fe3156c4f7d\n"
    },
    {
      "commit": "d7db594b8d1dab36b711bd887a9dd21675c87243",
      "tree": "214b4e6e4510386ffc05c9a43dd3c153c6cf89a0",
      "parents": [
        "11829be3e1a9e9e2271ba64a78c327bde6e044eb"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Wed Jan 28 10:07:51 2015 -0800"
      },
      "committer": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Fri Feb 06 14:48:41 2015 -0800"
      },
      "message": "Switch kernel header parsing to python libclang\n\nReplace the tokenizer in cpp.py with libclang.\n\nBug: 18937958\nChange-Id: I27630904c6d2849418cd5ca3d3c612ec3078686d\n"
    },
    {
      "commit": "655a7c081f83b8351ed5f11a6c6accd9458293a8",
      "tree": "418e77007face85af356f4e7cfc356a7e7125127",
      "parents": [
        "f0447ddb042150af0e13a364df98dd11673d95d3"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Oct 16 16:09:24 2013 -0700"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Oct 16 16:09:24 2013 -0700"
      },
      "message": "Add processed uapi kernel headers (common and aarch64-specific)\n\nChange-Id: If0be7b83bd8fe7cb02472d173f7c452aabf61124\n"
    }
  ]
}
