)]}'
{
  "commit": "7f15b6880a8468f6786fa02a2debacc155402138",
  "tree": "d1ef36a81100699f7e58a4be5c6d4dbd21c3149e",
  "parents": [
    "bfd89d6393fd56c92c0b31b19d7ec78d8da9141f"
  ],
  "author": {
    "name": "janakr",
    "email": "janakr@google.com",
    "time": "Wed Apr 11 14:55:28 2018 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-piper@google.com",
    "time": "Wed Apr 11 14:57:41 2018 -0700"
  },
  "message": "Remove all callers of ArtifactRoot.asSourcePath from production code besides the ones in SkyframeExecutor, called once for each Root in the package path list. This ensures there is a single canonical ArtifactRoot for each source root.\n\nIt is still the case that every Package loaded has its own Root (https://source.bazel.build/bazel/+/master:src/main/java/com/google/devtools/build/lib/packages/Package.java;l\u003d287?q\u003dPackage.java), which is a waste of memory, but because of the map inside ArtifactFactory introduced in this change, all Artifacts with the same logical source root share a single ArtifactRoot instance.\n\nPiperOrigin-RevId: 192513819\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3710e3ca39af7e80eec628ad7e25800cb69d4d8c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/actions/ArtifactFactory.java",
      "new_id": "684ddf1bbae36a02279bfe82799c3f411d16caf5",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/actions/ArtifactFactory.java"
    },
    {
      "type": "modify",
      "old_id": "2b543d2b648df1aa5a5b48cf7df4a4b0e686a8d1",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/actions/ArtifactResolver.java",
      "new_id": "f697401b6041fd3ea6a7f09e1f0ea8d9f577d4ec",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/actions/ArtifactResolver.java"
    },
    {
      "type": "modify",
      "old_id": "4f08d6b90a1a993c5c042a0b7061fd6327b342de",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/actions/ArtifactRoot.java",
      "new_id": "a98876bfc99efd2aadf257fd3f331bbadc30a5ac",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/actions/ArtifactRoot.java"
    },
    {
      "type": "modify",
      "old_id": "e7529bcb481a09ebf5610b7a5e2c918ffff620b0",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/actions/PackageRootResolver.java",
      "new_id": "7aa2c060e5b64d45bdaace7e80452afa192aa7e5",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/actions/PackageRootResolver.java"
    },
    {
      "type": "modify",
      "old_id": "aff94304b2dcfe9e6a7528027c7126b78fc49ab5",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/actions/PackageRoots.java",
      "new_id": "f64485e67d0b620889956219e51a8c10f31ed6bb",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/actions/PackageRoots.java"
    },
    {
      "type": "modify",
      "old_id": "7a1d4ec38d502dcd75c96dbf8e2ca95669943e69",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java",
      "new_id": "987177e8b3bff2efabcf50e1bf928cdb957d1830",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java"
    },
    {
      "type": "modify",
      "old_id": "082c122adb1378822dc60a089b793a992ff265df",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/SkyframePackageRootResolver.java",
      "new_id": "ef786ea68edcfecd5d5944c38e531e5a67deded1",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/SkyframePackageRootResolver.java"
    },
    {
      "type": "modify",
      "old_id": "1a46f2346b074382445c5578ee18bbfde92c2bcb",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java",
      "new_id": "ab9e1bd35ac638fa147e4aa5cb5a661fcdfd39ae",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java"
    },
    {
      "type": "modify",
      "old_id": "e3d2baae2fe58c5b06b9d1961415f465ae71cd43",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/MapAsPackageRoots.java",
      "new_id": "bacbb7b62e7faeaf9be357133ce8a0be8261a19e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/MapAsPackageRoots.java"
    },
    {
      "type": "modify",
      "old_id": "68dacda9b6d860f2ccb7c943962d905a7c04f002",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/PackageRootsNoSymlinkCreation.java",
      "new_id": "0632d7145a72bf289f315eff1f2311922b390f9d",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/PackageRootsNoSymlinkCreation.java"
    },
    {
      "type": "modify",
      "old_id": "c900a613003c2ccba3235012dd3cf5d4bb4efe72",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java",
      "new_id": "937be885d3c3c474a594fe6eb18d24d1491d91df",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java"
    },
    {
      "type": "modify",
      "old_id": "9a0f3f13053f4ce0184d87fa3c79a102bd6236ad",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java",
      "new_id": "512996e2ff7b04f0dddd9f7979bfa2012bda45ce",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java"
    },
    {
      "type": "modify",
      "old_id": "247518570a0b7a08b725901ed9dfceec20d6f883",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/actions/ArtifactFactoryTest.java",
      "new_id": "331401fb3e35bf47ba9ec30b755c2c1a07955a34",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/actions/ArtifactFactoryTest.java"
    },
    {
      "type": "modify",
      "old_id": "b9330d44343fdd51605769159eb9afe30e896306",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java",
      "new_id": "49a6aa06075c2e9cfb3d3bde8f340f2ff127d53b",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java"
    },
    {
      "type": "modify",
      "old_id": "7129779d5846001062ba8176707ffd0f64d203ac",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java",
      "new_id": "5ade0d4d3e596b566f3d46c2752eb24fb44a54ac",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java"
    },
    {
      "type": "modify",
      "old_id": "ee9b9fb6d8a04643fad965a32637cc48d3518273",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/rules/objc/HeaderThinningTest.java",
      "new_id": "e7bfb846536a242c142ad86b23ca33e468ff46e5",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/rules/objc/HeaderThinningTest.java"
    }
  ]
}
