)]}'
{
  "commit": "a9f1a50154c7873b8152842dfd1392badeee55d6",
  "tree": "98a3e4fe3afc331aab667b057e75ba280214d57a",
  "parents": [
    "11777fd3e509b2835ffdb901c1bf1744651ba314"
  ],
  "author": {
    "name": "Takuto Ikuta",
    "email": "tikuta@google.com",
    "time": "Tue Apr 28 17:50:57 2026 +0900"
  },
  "committer": {
    "name": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Apr 28 07:52:32 2026 -0700"
  },
  "message": "[gn] Split SOURCE_SET phony targets to exclude additional outputs from linking\n\nSplit the phony target generated for a `source_set` into two targets:\n1. The default phony target (e.g., `phony/foo/bar`) which depends on\nboth object files and additional outputs (like `.dwo` files).\n2. A link-only phony target (e.g., `phony/foo/bar.linkdeps`) which\ndepends only on object files.\n\nWhen other targets depend on this `source_set`, they will now use the\n`.linkdeps` suffixed target for their order-only dependencies.\n\nThis is important for build systems like Siso that support remote\nlinking. If the link step indirectly depends on `.dwo` files through the\nphony target, Siso might include those `.dwo` files as inputs for the\nremote link command. Since `.dwo` files are only needed for debugging\nand not for linking, uploading them would be a waste of bandwidth and\ntime. By splitting the phony target, we prevent `.dwo` files from being\nincluded as inputs for the link step.\n\nBug: 502431091\nChange-Id: I574063a57f537a2c5f9662bb39202ecc4cf92761\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/22160\nCommit-Queue: David Turner \u003cdigit@google.com\u003e\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\nReviewed-by: David Turner \u003cdigit@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "51b33691f105ee41d37d5a6231235abe5f2514e2",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_binary_target_writer_unittest.cc",
      "new_id": "e8a6f5163bc12248a4aa916f0451e20ce68e707e",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_binary_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "14f95ed2e79ee1147ef18daceb68dba6b76dacf8",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_c_binary_target_writer.cc",
      "new_id": "31217189cf6a2f0a4457390a6664030078b0ab8f",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_c_binary_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "beb740923f66e1ca8f45ae2d5ed49af29b44131f",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_c_binary_target_writer_unittest.cc",
      "new_id": "4b0219b8b2ac56bf88a77e7bffa3de3b3b91c0d8",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_c_binary_target_writer_unittest.cc"
    }
  ]
}
