)]}'
{
  "commit": "a6473d48ff816bb67b2a24de15a93ec4f2974f40",
  "tree": "e75b11a178b74304082ed920ecba11cd843427bf",
  "parents": [
    "e10143e81668691ac4add5ede1dce137c7fe7a1e"
  ],
  "author": {
    "name": "Matt Stark",
    "email": "msta@google.com",
    "time": "Thu Aug 20 15:09:21 2026 +1000"
  },
  "committer": {
    "name": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Aug 25 21:50:59 2026 -0700"
  },
  "message": "Add jj subcommands to easily compare revisions.\n\n* `jj before-after` builds two copies of gn in parallel, before and after a change.\n* `HYPERFINE_OPTS\u003d\"--warmup 1 --runs 5\" jj compare-perf` compares the performance of those two copies of GN across 5 invocations of GN gen each.\n  * It caches the benchmarking results to improve performance, which\n    particularly helps given that \"before\" is unlikely to change.\n\nChange-Id: Iff7ef7965ebf7c1b9d2769ca23abdac36a6a6964\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/25720\nCommit-Queue: Matt Stark \u003cmsta@google.com\u003e\nReviewed-by: Takuto Ikuta \u003ctikuta@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "57413edad695107c15f9a30b3026d5eecf39fa62",
      "old_mode": 33188,
      "old_path": "tools/jj/config.toml",
      "new_id": "95466415137bca498897a0d87e0c6844b77e0449",
      "new_mode": 33188,
      "new_path": "tools/jj/config.toml"
    }
  ]
}
