)]}'
{
  "commit": "7498ca2e5e24b509ce679604ff46768f12098d48",
  "tree": "15b66e78f068abced0bdb84d187aaa014c5ed0a6",
  "parents": [
    "b7f59176434925754f48c1459707e6be2dc20801"
  ],
  "author": {
    "name": "Neri Marschik",
    "email": "nerima@google.com",
    "time": "Fri Jan 30 13:33:33 2026 +0900"
  },
  "committer": {
    "name": "GN LUCI",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Feb 02 01:33:20 2026 -0800"
  },
  "message": "Add validation support to gn analyze/desc/path/refs\n\nGiven target `foo` having validation `clippy`\n\ndesc output:\n```\nTarget //:foo\ntype: group\ntoolchain: //toolchain:toolchain\n\n...\n\nDirect dependencies (try also \"--all\", \"--tree\", or even \"--all --tree\")\n  //:foo.dep\n\nvalidations\n  //:clippy\n```\n\npath output:\n```\n//:foo --[validation]--\u003e //:clippy\n```\n\nrefs output:\n```\n//:foo\n```\n\nBug: 478798763\nChange-Id: Ica196b758411cf502e0fdf0c5a8566d5615f9711\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/20900\nReviewed-by: Takuto Ikuta \u003ctikuta@google.com\u003e\nCommit-Queue: Neri Marschik \u003cnerima@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e5e2d7ed095a13270b59fb10c0e9d1f9cdcf6737",
      "old_mode": 33261,
      "old_path": "build/gen.py",
      "new_id": "29085c9493523561ed12557378fb78a6a63fb397",
      "new_mode": 33261,
      "new_path": "build/gen.py"
    },
    {
      "type": "modify",
      "old_id": "a2231e63ee64f4491cbb79a12b9962ab9c94574a",
      "old_mode": 33188,
      "old_path": "docs/reference.md",
      "new_id": "6d951a5c5d386b8a0ca397bff204911057c1d7e4",
      "new_mode": 33188,
      "new_path": "docs/reference.md"
    },
    {
      "type": "modify",
      "old_id": "a4ee31ff81efbeba75836448af3ab9850b437be8",
      "old_mode": 33188,
      "old_path": "src/gn/analyzer.cc",
      "new_id": "5c1d5e0564a3c9de1929b31c6f593a0ff4682a50",
      "new_mode": 33188,
      "new_path": "src/gn/analyzer.cc"
    },
    {
      "type": "modify",
      "old_id": "5952562dd81c46f5b35656732c97779862cbde56",
      "old_mode": 33188,
      "old_path": "src/gn/analyzer_unittest.cc",
      "new_id": "c5aa8d4553bb2159cc8c354e9ff0c4dbaaf39003",
      "new_mode": 33188,
      "new_path": "src/gn/analyzer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "491afa35e3d86b96c9c3c4e92fc849e9ee1c4ac0",
      "old_mode": 33188,
      "old_path": "src/gn/command_desc.cc",
      "new_id": "2e8f18a57629ac37fad9b346b5b4e8acb371960d",
      "new_mode": 33188,
      "new_path": "src/gn/command_desc.cc"
    },
    {
      "type": "modify",
      "old_id": "4ee1345f393ce8667532cd6527d227ae013c2465",
      "old_mode": 33188,
      "old_path": "src/gn/command_path.cc",
      "new_id": "e3efdd5c47f855b9ce93b0ac7228354161fa1c44",
      "new_mode": 33188,
      "new_path": "src/gn/command_path.cc"
    },
    {
      "type": "modify",
      "old_id": "b5ad605a94627eda0f107dc95959e5e998653b54",
      "old_mode": 33188,
      "old_path": "src/gn/command_refs.cc",
      "new_id": "0e7770b037693b08fc106484e10affe139e0c25b",
      "new_mode": 33188,
      "new_path": "src/gn/command_refs.cc"
    },
    {
      "type": "modify",
      "old_id": "1b80302eda139caf1b9b001062a23a2d2fd15379",
      "old_mode": 33188,
      "old_path": "src/gn/desc_builder.cc",
      "new_id": "8c6d897e4d3b36caf686aebcda3920db28139571",
      "new_mode": 33188,
      "new_path": "src/gn/desc_builder.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "23f1772273d668ea60dc2790d7abf42a42285bc0",
      "new_mode": 33188,
      "new_path": "src/gn/desc_builder_unittest.cc"
    }
  ]
}
