)]}'
{
  "commit": "f98b6d7275c2e823e0983fa7f874facfe6980778",
  "tree": "af9f75ad758c7706f43f83b7c3fd9e79474589b8",
  "parents": [
    "c6f1e69551890e28ab70da68b398408d9f2b4b48"
  ],
  "author": {
    "name": "Andrew Grieve",
    "email": "agrieve@google.com",
    "time": "Tue Feb 25 08:54:51 2025 -0800"
  },
  "committer": {
    "name": "GN LUCI",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Feb 25 09:33:56 2025 -0800"
  },
  "message": "Reland \"Adds a path_exists() function\"\n\nThis reverts commit c6f1e69551890e28ab70da68b398408d9f2b4b48.\n\nReason for reland: Fixed kPathExists\n\nOriginal change\u0027s description:\n\u003e Revert \"Adds a path_exists() function\"\n\u003e\n\u003e This reverts commit 68b72c326a153f574f289099f77d85a92389d492.\n\u003e\n\u003e Reason for revert: Didn\u0027t update value of kPathExists\n\u003e\n\u003e Original change\u0027s description:\n\u003e \u003e Adds a path_exists() function\n\u003e \u003e\n\u003e \u003e Useful for conditionally depending on deps, conditionally importing a\n\u003e \u003e .gni, or setting default declare_args() values.\n\u003e \u003e\n\u003e \u003e Bug: chromium:397994249\n\u003e \u003e Change-Id: I61ba0b3e370502511ebdc5e2a07786fe389824b8\n\u003e \u003e Reviewed-on: https://gn-review.googlesource.com/c/gn/+/18200\n\u003e \u003e Reviewed-by: Dirk Pranke \u003cdpranke@google.com\u003e\n\u003e \u003e Commit-Queue: Andrew Grieve \u003cagrieve@google.com\u003e\n\u003e\n\u003e TBR\u003ddpranke@google.com,agrieve@google.com,gn-scoped@luci-project-accounts.iam.gserviceaccount.com\n\u003e\n\u003e Change-Id: If709fa6ca15c6076a20bd10334326d32016acae1\n\u003e No-Presubmit: true\n\u003e No-Tree-Checks: true\n\u003e No-Try: true\n\u003e Bug: chromium:397994249\n\u003e Reviewed-on: https://gn-review.googlesource.com/c/gn/+/18240\n\u003e Reviewed-by: Andrew Grieve \u003cagrieve@google.com\u003e\n\u003e Commit-Queue: Dirk Pranke \u003cdpranke@google.com\u003e\n\u003e Reviewed-by: Dirk Pranke \u003cdpranke@google.com\u003e\n\n# Not skipping CQ checks because this is a reland.\n\nBug: chromium:397994249\nChange-Id: Ie9eb9c513b1ca323bb90b8915af0dc82d0ae356b\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/18260\nReviewed-by: Dirk Pranke \u003cdpranke@google.com\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d1c649cbb1067350f58f2385c7cacea1e2f9c3d9",
      "old_mode": 33261,
      "old_path": "build/gen.py",
      "new_id": "cdee2f5c452987e8fe5eba56850538dcfe7f035c",
      "new_mode": 33261,
      "new_path": "build/gen.py"
    },
    {
      "type": "modify",
      "old_id": "56c554ffbe100e9962beb028b843d550551c8826",
      "old_mode": 33188,
      "old_path": "docs/reference.md",
      "new_id": "d1381383eb116f12c1a1377ff1af4b548ae6e4c8",
      "new_mode": 33188,
      "new_path": "docs/reference.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a8589618756a50a1c5df17ffed301831b920721a",
      "new_mode": 33188,
      "new_path": "src/gn/function_path_exists.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "516f55159992f6b60617930ba66a9bde62c39d34",
      "new_mode": 33188,
      "new_path": "src/gn/function_path_exists_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "66427687782a1e61e3ab31c36fe54eea488b061b",
      "old_mode": 33188,
      "old_path": "src/gn/functions.cc",
      "new_id": "a12b0789a6e8c8f0a3f3488a52cc87abcccff51f",
      "new_mode": 33188,
      "new_path": "src/gn/functions.cc"
    },
    {
      "type": "modify",
      "old_id": "5cfeb827f862e5c610a42efd393f50b1b8004bac",
      "old_mode": 33188,
      "old_path": "src/gn/functions.h",
      "new_id": "5d8fdac95d7ba6e4b97c0d21d363b0fdb63c66e1",
      "new_mode": 33188,
      "new_path": "src/gn/functions.h"
    }
  ]
}
