)]}'
{
  "commit": "99f72f881a3acdadb1572eaee8467b7f17b3338a",
  "tree": "dfeeb90a1d5b082d343511a45a26f63224a7334e",
  "parents": [
    "5233fa13e84fa4adddaf6e00f22aaee16f94342f"
  ],
  "author": {
    "name": "RJ Ascani",
    "email": "rjascani@google.com",
    "time": "Mon Aug 24 18:52:23 2020 -0700"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Mon Sep 28 20:06:45 2020 +0000"
  },
  "message": "Switch source_set stamp targets to phony targets\n\nGN uses stamp files for a variety of output types as a mechanism for\ncompleting a group of dependencies. Ninja\u0027s phony targets can be used in\nthe same manner. Semantically, stamp and phony only differ in one way:\nif a phony target has no dependencies, then it is treated as always\ndirty and is run every time.\n\nThe source_set output type always generates a stamp file in the target\nninja file. This CL replaces the source_set\u0027s stamp target with a phony\ntarget. In the case where the source_set\u0027s new phony target does not\nhave any inputs, no targets will depend on it. An example of where that\nmight happen is a header only source_set. There are no object files to\ngenerate, but targets that depend on the header only source_set will\ngenerate dependencies on those headers through depfiles.\n\nBug: 187\nChange-Id: I159f2f39a988eea189e4df9f5d9207fda6db5c58\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/9820\nReviewed-by: Brett Wilson \u003cbrettw@chromium.org\u003e\nCommit-Queue: Brett Wilson \u003cbrettw@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "486354bf47787ea44253a1b690fc06b504628444",
      "old_mode": 33261,
      "old_path": "build/gen.py",
      "new_id": "a16f16fd8530ae7496f9ae654ae42b13468e9aef",
      "new_mode": 33261,
      "new_path": "build/gen.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8bc1e5271dc92a0d508289296d40ff300ba7f156",
      "new_mode": 33188,
      "new_path": "src/gn/builtin_tool.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "00cc80925e8dca82736c07d3975588b5504defc6",
      "new_mode": 33188,
      "new_path": "src/gn/builtin_tool.h"
    },
    {
      "type": "modify",
      "old_id": "97d26299d1d30c24f706dd74b7277380e25ad5df",
      "old_mode": 33188,
      "old_path": "src/gn/commands.cc",
      "new_id": "1d2b8992048f2aa9a1f555dd80c0c7d5199dcc87",
      "new_mode": 33188,
      "new_path": "src/gn/commands.cc"
    },
    {
      "type": "modify",
      "old_id": "ae6d4d97ee9baa83080af02f13175590e7603069",
      "old_mode": 33188,
      "old_path": "src/gn/filesystem_utils.cc",
      "new_id": "ab06545b9ecaaaeb5259b615134e4120547490cb",
      "new_mode": 33188,
      "new_path": "src/gn/filesystem_utils.cc"
    },
    {
      "type": "modify",
      "old_id": "830478a5fcd46cd21904d3cc55e45c5343aa8563",
      "old_mode": 33188,
      "old_path": "src/gn/filesystem_utils.h",
      "new_id": "9ba3b4e6d5a07f9a8ff9c35059bf336435ed5f2e",
      "new_mode": 33188,
      "new_path": "src/gn/filesystem_utils.h"
    },
    {
      "type": "modify",
      "old_id": "fa851f3c47c506f1939cc3867e5ba1f0498406e1",
      "old_mode": 33188,
      "old_path": "src/gn/function_get_target_outputs.cc",
      "new_id": "ca37d9a014378973c4d3ab1eaa1de48122accf5c",
      "new_mode": 33188,
      "new_path": "src/gn/function_get_target_outputs.cc"
    },
    {
      "type": "modify",
      "old_id": "28f28c7a66eeb475988d3f9181c5b172f49c0a28",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_action_target_writer.cc",
      "new_id": "0b49066f1847a6159430627e1844643e359ed838",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_action_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "08e8c93e12f8ea89ae7b2afa8b2db4db5ff5e67d",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_binary_target_writer.cc",
      "new_id": "e06700a2542efa636a20947ca2ab672aff2a4427",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_binary_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "76a8a4eb798765fcc17697367b14e63560832902",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_binary_target_writer.h",
      "new_id": "eb75c897ebb6b058b99af773a0e0948f51539374",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_binary_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "970aa82f7d1c74fefe3ad3049ca3e45139909574",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_binary_target_writer_unittest.cc",
      "new_id": "9e4037cb0e84bcb11e725bcdc4385e0e4c43d916",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_binary_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "f801fb67c37a010bd030919e5b0714a76e4c905c",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_build_writer.cc",
      "new_id": "50f11553036c93deceb3e6b2d2491c04b2360381",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_build_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "0e3bcb0acb405f9138ee44794e47164d236e2361",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_bundle_data_target_writer.cc",
      "new_id": "239c0c23c930373eb2f53248c605096a4472de83",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_bundle_data_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "17f9c0855dae4010036fa3a3078a168e285d67fc",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_c_binary_target_writer.cc",
      "new_id": "2e7e613eb34864c7899d2db44294c9f457c850a4",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_c_binary_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "6290301649ad8be532eb1d025f4c9b50ce614b4b",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_c_binary_target_writer_unittest.cc",
      "new_id": "df6e8b54999540d179e4dd5385a0b212bb24f217",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_c_binary_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "92992236df2f8fd516d5e6d656bb8f045e2778b9",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_copy_target_writer.cc",
      "new_id": "c1a94ee8a61eb76b35c029b536587ffbab0035d3",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_copy_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "9f000f319b92b1bc0076aff87ac3b4e298254f5e",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_create_bundle_target_writer.cc",
      "new_id": "9623e3285656dd0758835441d56f1321aa69d3f7",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_create_bundle_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "6b0db1be4d6f74a5f399c315a19d2adc9ba4241e",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_generated_file_target_writer.cc",
      "new_id": "16fcf96b5a03a49450eec320f0797fa8eb7fd580",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_generated_file_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "b518977cb3144f959fae37166650ae7a9b6bc0e1",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_group_target_writer.cc",
      "new_id": "1ba6d1c4d8ad42bff1d77e69b32efa6c1e1fba28",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_group_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "59960a1d6553a5750e94730b36035a1d64736ebd",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_rust_binary_target_writer.cc",
      "new_id": "a8aecafe9f35e8c5fc494841adc8a1dfe79e33bb",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_rust_binary_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "34d87f04455d0c1334aea7fa5fca5419b64ee490",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_rust_binary_target_writer_unittest.cc",
      "new_id": "a440a6f89f2974a1e06f0c1c8fc34c3d9962eeb4",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_rust_binary_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "b6bbb9f591f9964bff15de3b8620db8a0515e5cd",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_target_writer.cc",
      "new_id": "5b443f172568798e8c8f617bf801e88e2a3e85bd",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "f4c9eaea6b9f7edfe2a6114501b5af05fe5a55e1",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_target_writer.h",
      "new_id": "f6c4e049c6fed8c8491ebe3add6ba9e2c67e8a08",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "3b6d683febe339c2d7624bb84f6128f7c858efdc",
      "old_mode": 33188,
      "old_path": "src/gn/runtime_deps.cc",
      "new_id": "d002458c81748df3fc37830bc8a2b6141832cb8d",
      "new_mode": 33188,
      "new_path": "src/gn/runtime_deps.cc"
    },
    {
      "type": "modify",
      "old_id": "e7b3a8136fe1514a4b43b8550a514f76f641f2f9",
      "old_mode": 33188,
      "old_path": "src/gn/switches.cc",
      "new_id": "cbeaa2672b49400cbe2f1eb13eb1075e66007a76",
      "new_mode": 33188,
      "new_path": "src/gn/switches.cc"
    },
    {
      "type": "modify",
      "old_id": "b8bf2f978f24950ea4344d7f2603531e9acc792b",
      "old_mode": 33188,
      "old_path": "src/gn/target.cc",
      "new_id": "a5493e8956251475045040663717972569046dfa",
      "new_mode": 33188,
      "new_path": "src/gn/target.cc"
    },
    {
      "type": "modify",
      "old_id": "dbcfa69adfa37d8733e620cfde292ff8e4eba97a",
      "old_mode": 33188,
      "old_path": "src/gn/target.h",
      "new_id": "dcbaf2cde7991b9ea61364e80c921c3c48528c9c",
      "new_mode": 33188,
      "new_path": "src/gn/target.h"
    },
    {
      "type": "modify",
      "old_id": "792c5304ea5f278df67ab1d529acc2583ce09f31",
      "old_mode": 33188,
      "old_path": "src/gn/target_unittest.cc",
      "new_id": "2496696cbcd6670c9a20d40abec907f7f64ba2ec",
      "new_mode": 33188,
      "new_path": "src/gn/target_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "5e4186dbe18ae838c5c86c9c28ab2245dccd35cb",
      "old_mode": 33188,
      "old_path": "src/gn/tool.cc",
      "new_id": "9708e44096624709ea5cc1ea7b9ef35911474687",
      "new_mode": 33188,
      "new_path": "src/gn/tool.cc"
    },
    {
      "type": "modify",
      "old_id": "e64935f548b3c814d950cdec7b0008cb554f19d8",
      "old_mode": 33188,
      "old_path": "src/gn/tool.h",
      "new_id": "5e824c9985a66e91070a2e2921a4cad32b73257f",
      "new_mode": 33188,
      "new_path": "src/gn/tool.h"
    },
    {
      "type": "modify",
      "old_id": "bfad81db6351b35a194f483fb74e67330d621472",
      "old_mode": 33188,
      "old_path": "src/gn/toolchain.cc",
      "new_id": "a00aec4559033e1b6e40d6fd7ab70848b318453d",
      "new_mode": 33188,
      "new_path": "src/gn/toolchain.cc"
    },
    {
      "type": "modify",
      "old_id": "eb5a60c526ecdc3473adb10b4c84aca36b710a0d",
      "old_mode": 33188,
      "old_path": "src/gn/toolchain.h",
      "new_id": "3f2b83a2ac91fe57a0809ba2026683ef1ad6a93f",
      "new_mode": 33188,
      "new_path": "src/gn/toolchain.h"
    },
    {
      "type": "modify",
      "old_id": "fd16536a398be5bdd6e47b7cf247ff0db79d63cf",
      "old_mode": 33188,
      "old_path": "src/gn/visual_studio_writer.cc",
      "new_id": "37173457c218145d883c09d7f833a46a536b2391",
      "new_mode": 33188,
      "new_path": "src/gn/visual_studio_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "e4957a1ff479b1d2abe526b9f0c38211a163ef56",
      "old_mode": 33188,
      "old_path": "src/gn/visual_studio_writer.h",
      "new_id": "55ae70561d54a9c7211e2482188952bb0e6bd1c9",
      "new_mode": 33188,
      "new_path": "src/gn/visual_studio_writer.h"
    }
  ]
}
