)]}'
{
  "commit": "2291342e0ecb19ef8bb7915e90708cf548294e56",
  "tree": "aea75cb3da7fb5cede749d34902b6e79dc0d2208",
  "parents": [
    "b0c7ee5377fbd310177606e0cd26c602bd1efab4"
  ],
  "author": {
    "name": "Googler",
    "email": "noreply@google.com",
    "time": "Thu May 02 12:42:20 2019 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu May 02 12:43:31 2019 -0700"
  },
  "message": "Add managed directories to RepositoryDirectoryValue.\n\n- This is only a part of managed directories feature, still not complete.\n- In this part the link between WorkspaceFileListener and Bazel-specific structures is to be seen.\n- Class ManagedDirectoriesKnowledgeImpl obviously contains logic, needed for the future, not existing yet functionality, but if I only keep the currently needed part, it will not be clear why we need a separate wrapper class at all.\n\n- Keep precalculated (by SequencedSkyframeExecutor) value of managed directories in the holder object, created by BazelRepositoryModule and available to all interested parties (repository dirty checker, RepositoryDelegatorFunction).\n- Managed directories are part of the external repository definition. When the set of managed directories for a repository change, repository should be considered dirty. Repository dirty checker is changed to support that.\n- When the set of managed directories for a repository change, also the computed repository digest value should change.\nAdd managed directories paths fragments to the digest.\n- Add tests for both dirty checker and digest calculation.\n\nPiperOrigin-RevId: 246370690\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2750ddece8aac23c11faf30ba32e584b62ba5ec6",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/BazelRepositoryModule.java",
      "new_id": "1d0fa393fa55ec206f957febbc96b8babe331080",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/BazelRepositoryModule.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "66ca1569bddb4564b8ef5b5f6c43552876ac3ebc",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/repository/ManagedDirectoriesKnowledge.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "08b44fab54a222966962f03bad598d662f41a488",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/repository/ManagedDirectoriesKnowledgeImpl.java"
    },
    {
      "type": "modify",
      "old_id": "a4161cc3637ea9ca16636a6dd5a87c745a9fec12",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java",
      "new_id": "f0acce2e66a2bdd51867210ed62a6e607711d2a9",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bbc0eaf894b15f1c221a23aeacd5648485867aae",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDirectoryDirtinessChecker.java"
    },
    {
      "type": "modify",
      "old_id": "b48e9c6726a5f15eddff49f541eb4136a64db893",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDirectoryValue.java",
      "new_id": "f7c465be3c278c7d8af50d34d4a31c4f882218ec",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDirectoryValue.java"
    },
    {
      "type": "modify",
      "old_id": "1e9ee5c7ac3c57fe4638a23b2fb34618142a3cb1",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/runtime/WorkspaceBuilder.java",
      "new_id": "bf102732448697ed7db4b06759c8b037946ea663",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/runtime/WorkspaceBuilder.java"
    },
    {
      "type": "modify",
      "old_id": "aba704e7ca13e02db57d2ecfc1423af4be182a14",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutorFactory.java",
      "new_id": "ca668eabbd903acffd93a6f3b60e64351dbc5ef7",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutorFactory.java"
    },
    {
      "type": "modify",
      "old_id": "ad852d626845a53847be5a9f6fb468e93de25a1f",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/SkyValueDirtinessChecker.java",
      "new_id": "6f51cf3c45908172d6e668f159a3ab3b065d1e42",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/SkyValueDirtinessChecker.java"
    },
    {
      "type": "modify",
      "old_id": "3cb5d1178af46fb98f9f6eeeeca73378de89843f",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutorFactory.java",
      "new_id": "504e4a45e676624721778f14d7e639c7dd846200",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutorFactory.java"
    },
    {
      "type": "modify",
      "old_id": "d0476fb2877531f05af59bdabddf263da85357f8",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/packages/BazelPackageLoader.java",
      "new_id": "5ff0d78c867e6a2db97110daeac0d2ade887a732",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/packages/BazelPackageLoader.java"
    },
    {
      "type": "modify",
      "old_id": "c7084db72f8c2b287df911746f04829251cbccba",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisMock.java",
      "new_id": "3fc0354fe6b57bc9ac33be9693e52560c2703b15",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisMock.java"
    },
    {
      "type": "modify",
      "old_id": "4daa6b830ebdb07f893ade6d92ac71dcaeff5001",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryIntegrationTest.java",
      "new_id": "af90185ef4b4f9180beab151e18e0368f42f1d32",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryIntegrationTest.java"
    },
    {
      "type": "modify",
      "old_id": "a66ac9b4cc8106c0138656e8a1ffd16bb1d619dd",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/rules/repository/BUILD",
      "new_id": "7c484fe62920d654878bde9e3c6d200319ccc90b",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/rules/repository/BUILD"
    },
    {
      "type": "modify",
      "old_id": "02ec42de699df66583bbb2d54afa452dbd22bf74",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorTest.java",
      "new_id": "c728520dce7918f6dff51b65b6841a3ad51bd159",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorTest.java"
    },
    {
      "type": "modify",
      "old_id": "d560875f19462c2989006fe3e49ea24c9100e5fa",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupFunctionTest.java",
      "new_id": "b42bcb6307f1d4c47202ac780017d6b22f5fbf88",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupFunctionTest.java"
    },
    {
      "type": "modify",
      "old_id": "022867aef4a638dccdfe37ada1de3d4cf9e9f0ed",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/skyframe/PackageLookupFunctionTest.java",
      "new_id": "ec1121052c70016df386bf64a35fa6b7fe4b8618",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/skyframe/PackageLookupFunctionTest.java"
    }
  ]
}
