)]}'
{
  "commit": "c2bcf1cd7bfb7ad70baf87eb943964657b9c6f4a",
  "tree": "89159fce36b87eb0ccfedf8fd8886b2466391bdb",
  "parents": [
    "7479f67eaf56ab99cb0a5f39b93a89df1bd4f028"
  ],
  "author": {
    "name": "Googler",
    "email": "noreply@google.com",
    "time": "Tue Oct 04 18:58:18 2016 +0000"
  },
  "committer": {
    "name": "Damien Martin-Guillerez",
    "email": "dmarting@google.com",
    "time": "Wed Oct 05 12:26:01 2016 +0000"
  },
  "message": "Make .d file analysis properly mark used module (.pcm) files.\n\nPreviously, we thought this wouldn\u0027t be necessary, as a change in .pcm would\nalways be accompanied by a corresponding change in a header. However, in the\ncurrent compile module this isn\u0027t true. Modules currently require all\ntransitive modules as inputs even though they might not use a single header\nfrom them. Thus, if a module //a depends on a module //b, any change to //b\u0027s\nheaders will currently require //a to be rebuilt unless those headers are\nactually included by //a. This leads to false positive cache results.\n\n--\nMOS_MIGRATED_REVID\u003d135134348\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "373574fe2412b2ae90cc9fc140e780a73c39f8ef",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java",
      "new_id": "1d06026c936b72e6d05d9f9cb0e05cc108b96e93",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java"
    },
    {
      "type": "modify",
      "old_id": "e80856b7c21d0616571070a73def5dc1794f78e5",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/HeaderDiscovery.java",
      "new_id": "5b59a0601f5653e4378f33e739c507601ebb8a45",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/HeaderDiscovery.java"
    }
  ]
}
