)]}'
{
  "commit": "28143a5d3968c76cd94f1ea75c0038d71c7a0356",
  "tree": "ed604ccf620ff970192d6fbdcf00fa1e5dfbc6ea",
  "parents": [
    "afde71894b1d7a73e0b2b54c1bd4a513474050a1"
  ],
  "author": {
    "name": "ulfjack",
    "email": "ulfjack@google.com",
    "time": "Wed Oct 30 07:23:11 2019 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Oct 30 07:24:07 2019 -0700"
  },
  "message": "Guard include scanner against null grepIncludes\n\nThe grepIncludes artifact may be null if the owning rule doesn\u0027t have a\n$grep_includes attribute (see CppHelper.getGrepIncludes). This seems to\nbe intentional. However, the remote include scanner requires that\ngrepIncludes is *not* null, so we need to safe-guard against it.\n\nUnfortunately, this is brittle, because accidentally misspelling or\nremoving the attributes makes all grep operations fall back to the\nbuilt-in implementation.\n\nPiperOrigin-RevId: 277499382\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0857f29146a7986f87d1f7dd3091ff2ad17fa0fd",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/includescanning/IncludeParser.java",
      "new_id": "acde8ac268205b35c6b6d73ad99abc22eaf52a39",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/includescanning/IncludeParser.java"
    },
    {
      "type": "modify",
      "old_id": "0c16c97e1f321d9c34862f7561e66305ba69e9bc",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/includescanning/LegacyIncludeScanner.java",
      "new_id": "440fef0bd71426d5197a5500e4d6947041ef2ca8",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/includescanning/LegacyIncludeScanner.java"
    }
  ]
}
