)]}'
{
  "commit": "f1d7eb17f0eaad5e65de4a3472770ff83ae3babc",
  "tree": "9b848046c2eece44b51145c852ae3551248e7bfe",
  "parents": [
    "a1b3e7f6ff290006424206dcb600c1f799eb8d52",
    "c286fbb18d8a1407a221bae6e69f92d94db977a7"
  ],
  "author": {
    "name": "Jonathan Brouwer",
    "email": "jonathantbrouwer@gmail.com",
    "time": "Sun Jul 05 14:12:07 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sun Jul 05 14:12:07 2026 +0200"
  },
  "message": "Rollup merge of #158552 - ferrocene:jyn/tidy-errors, r\u003dclubby789,davidtwco\n\nmake some tidy errors around python easier to understand\n\nsomeone i was helping hit a tidy python formatting error in CI, tried to run the exact `tidy` command that bootstrap printed as an error, got *another* error because rustc isn\u0027t installed globally, only locally, and then gave up in frustration because they couldn\u0027t tell what tidy even wanted them to fix.\n\nmake some targeted improvements.\n\ni\u0027m not sure why diffs were disabled by default before. it\u0027s been like that ever since python formatting was originally added in https://github.com/rust-lang/rust/pull/112482, with no explanation. i think showing the diff is a better default.\n\nbefore:\n```\n$ ./x t tidy --extra-checks\u003dpy:fmt\nchecking python file formatting\nWould reformat: ferrocene/ci/scripts/calculate_parameters.py\n1 file would be reformatted, 118 files already formatted\nrerun tidy with `--extra-checks\u003dpy:fmt --bless` to reformat Python code\ntidy [extra_checks:python_fmt]: checks with external tool \u0027ruff\u0027 failed\ntidy [extra_checks:python_fmt]: FAIL\ntidy: The following check failed: extra_checks:python_fmt\nCommand `/home/ci/project/build/x86_64-unknown-linux-gnu/stage1-tools-bin/rust-tidy --root-path\u003d/home/ci/project --cargo-path\u003d/home/ci/project/build/x86_64-unknown-linux-gnu/stage0/bin/cargo --output-dir\u003d/home/ci/project/build --concurrency\u003d4 --npm-path\u003dyarn --extra-checks\u003dpy:fmt` failed with exit code 1\nCreated at: src/bootstrap/src/core/build_steps/tool.rs:1630:23\nExecuted at: src/bootstrap/src/core/build_steps/test.rs:1533:29\n\nCommand has failed. Rerun with -v to see more details.\nBuild completed unsuccessfully in 0:00:55\n$ /home/ci/project/build/x86_64-unknown-linux-gnu/stage1-tools-bin/rust-tidy --root-path\u003d/home/ci/project --cargo-path\u003d/home/ci/project/build/x86_64-unknown-linux-gnu/stage0/bin/cargo --output-dir\u003d/home/ci/project/build --concurrency\u003d4 --npm-path\u003dyarn --extra-checks\u003dpy:fmt --bless\ntidy [CI history]: no base commit found. Some checks will be skipped.\n\nthread \u0027deps (.)\u0027 (25771) panicked at src/tools/tidy/src/deps.rs:700:20:\ncmd.exec() failed with `cargo metadata` exited with an error: error: could not execute process `rustc -vV` (never executed)\n\nCaused by:\n  No such file or directory (os error 2)\n\nnote: run with `RUST_BACKTRACE\u003d1` environment variable to display a backtrace\n\nthread \u0027main\u0027 (25768) panicked at src/tools/tidy/src/main.rs:53:61:\ncalled `Result::unwrap()` on an `Err` value: Any { .. }\n```\n\nafter:\n\n```\nchecking python file formatting\nWould reformat: ferrocene/doc/specification/make.py\n1 file would be reformatted, 118 files already formatted\n\npython formatting does not match! Printing diff:\n--- ferrocene/doc/specification/make.py\n+++ ferrocene/doc/specification/make.py\n@@ -64,6 +64,7 @@\n\n     return dest / builder\n\n+\n def build_linkchecker(root):\n     repo \u003d root / \".linkchecker\"\n     src \u003d repo / \"src\" / \"tools\" / \"linkchecker\"\n\n1 file would be reformatted, 118 files already formatted\nrerun with `--bless` to reformat Python code: `./x.py test tidy --extra-checks\u003dpy:fmt --bless`\n```\n```\nthread \u0027deps (.)\u0027 (249572429) panicked at src/tools/tidy/src/deps.rs:696:9:\ntidy must be run under bootstrap (./x test tidy), not as a standalone command\nnote: run with `RUST_BACKTRACE\u003d1` environment variable to display a backtrace\n```\n",
  "tree_diff": []
}
