)]}'
{
  "commit": "28b83e6f08ae022d54d79e518e72933ae0930091",
  "tree": "4605e54bdb7ee213327f39aa67b600326da26b3c",
  "parents": [
    "8c1ce2204cc755bdafec85aaa4ac9c5a686a8bf4"
  ],
  "author": {
    "name": "Karthik Nayak",
    "email": "karthik.188@gmail.com",
    "time": "Sat Nov 08 22:51:57 2025 +0100"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Mon Nov 10 09:28:48 2025 -0800"
  },
  "message": "maintenance: add \u0027is-needed\u0027 subcommand\n\nThe \u0027git-maintenance(1)\u0027 command provides tooling to run maintenance\ntasks over Git repositories. The \u0027run\u0027 subcommand, as the name suggests,\nruns the maintenance tasks. When used with the \u0027--auto\u0027 flag, it uses\nheuristics to determine if the required thresholds are met for running\nsaid maintenance tasks.\n\nThere is however a lack of insight into these heuristics. Meaning, the\nchecks are linked to the execution.\n\nAdd a new \u0027is-needed\u0027 subcommand to \u0027git-maintenance(1)\u0027 which allows\nusers to simply check if it is needed to run maintenance without\nperforming it.\n\nThis subcommand can check if it is needed to run maintenance without\nactually running it. Ideally it should be used with the \u0027--auto\u0027 flag,\nwhich would allow users to check if the thresholds required are met. The\nsubcommand also supports the \u0027--task\u0027 flag which can be used to check\nspecific maintenance tasks.\n\nWhile adding the respective tests in \u0027t/t7900-maintenance.sh\u0027, remove a\nduplicate of the test: \u0027worktree-prune task with --auto honors\nmaintenance.worktree-prune.auto\u0027.\n\nSigned-off-by: Karthik Nayak \u003ckarthik.188@gmail.com\u003e\nAcked-by: Patrick Steinhardt \u003cps@pks.im\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "540b5cf68b0a1c676462a040c41290c3d1db0e52",
      "old_mode": 33188,
      "old_path": "Documentation/git-maintenance.adoc",
      "new_id": "bda616f14c45d9353d23f964b725c4d01436c5e4",
      "new_mode": 33188,
      "new_path": "Documentation/git-maintenance.adoc"
    },
    {
      "type": "modify",
      "old_id": "85e9a38d103522c2e12581d14d6061f4a9147a9f",
      "old_mode": 33188,
      "old_path": "builtin/gc.c",
      "new_id": "928c805f02b4938ab6fa9e19a3e04cf0361182f1",
      "new_mode": 33188,
      "new_path": "builtin/gc.c"
    },
    {
      "type": "modify",
      "old_id": "ddd273d8dc24fba42418180f8015d0198736a29d",
      "old_mode": 33261,
      "old_path": "t/t7900-maintenance.sh",
      "new_id": "a17e2091c2e647685bb43a6d53bf793aa2eeb4dc",
      "new_mode": 33261,
      "new_path": "t/t7900-maintenance.sh"
    }
  ]
}
