)]}'
{
  "commit": "f65463527e1339ea7a003cd62dcaa85c86955c0d",
  "tree": "04c2fcc3bec6e638033cc54ea2a203562ae26ee0",
  "parents": [
    "09c7c12af171d0481f857d9036ed365631dd1c6b",
    "b4361c91eab43264f000d7c6785ee7a541db521f"
  ],
  "author": {
    "name": "Jonathan Brouwer",
    "email": "jonathantbrouwer@gmail.com",
    "time": "Mon Sep 14 15:15:56 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Sep 14 15:15:56 2026 +0200"
  },
  "message": "Rollup merge of #162240 - charliermarsh:charlie/incremental-session-gc, r\u003dbjorn3\n\nGarbage-collect old incremental compilation sessions\n\n## Summary\n\nrustc cleans up old incremental-cache snapshots twice during a compilation: once at startup (after loading the previous cache), and then again after finishing and finalizing the new cache.\n\nIn rust-lang/rust#147821, we started skipping the current session during cleanup. But that means we\u0027re also skipping cleanup _after_ the session has finished, so we\u0027re keeping _both_ the previous and the completed snapshot on disk. (The snapshots don\u0027t accumulate indefinitely -- the \"extra\" snapshot gets removed when the next compilation starts, but that compilation then leaves another snapshot behind when it finishes.)\n\nThis PR modifies the logic to skip the current session while it is still active, but remove it once finalized.\n\nTesting it locally for [Ruff](https://github.com/astral-sh/ruff) and [uv](https://github.com/astral-sh/uv), the target directory shrinks significantly... The query caches are almost exactly 50% smaller, and `target` as a whole is 27.3% smaller in Ruff and 31.1% smaller in uv.\n",
  "tree_diff": []
}
