)]}'
{
  "commit": "2d1fa0323f434c1211cefbb98615ff57650bf0e2",
  "tree": "36859b0f560cf447b8001c300930e7746bc65953",
  "parents": [
    "528bb4f0195ded898a648cad8f6d9fd7595105f4"
  ],
  "author": {
    "name": "Thomas Bachem",
    "email": "mail@thomasbachem.com",
    "time": "Thu Sep 17 18:42:13 2026 +0000"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Thu Sep 17 12:37:00 2026 -0700"
  },
  "message": "rebase, cherry-pick, revert: run auto maintenance when done\n\nCommands that use the sequencer with the \"merge\" backend, like\ngit-cherry-pick(1) or git-rebase(1) with \"--merge\", create their\ncommits in-process. Consequently, these commands typically don\u0027t\nexecute auto maintenance at all. Only the commands they spawn on the\nway run it, like git-commit(1) for a resolved conflict or an edited\nmessage.\n\nIn contrast to that, the \"apply\" backend of git-rebase(1) _does_ run\nauto maintenance after it has processed the sequence of commits. And\nthis is a sensible thing to do: after all, we may just have written\nlots of objects, so chances are high that we have something to clean\nup now.\n\nAdapt users of the \"merge\" backend to do the same.\n\nThe sequencer has no single exit where a call to run_auto_maintenance()\ncould go. A sequence ends in pick_commits(), but a single pick never\ngets there: it returns from sequencer_pick_revisions() via\nsingle_pick(), its \"--continue\" from sequencer_continue() via\ncontinue_single_pick(), and its \"--skip\" from sequencer_skip(). So\ncall it from the sequencer\u0027s two callers instead: run_specific_rebase()\nfor the merge backend, once its state directory is gone, and\nrun_sequencer() in builtin/revert.c after a successful pick,\n\"--continue\" or \"--skip\".\n\nAssisted-by: Claude Fable 5.1\nSigned-off-by: Thomas Bachem \u003cmail@thomasbachem.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "10a306310cd4393cd48fbabf725b4ee11b19eafc",
      "old_mode": 33188,
      "old_path": "builtin/rebase.c",
      "new_id": "535db6018181281c28171c1e17423b2ba1a38fbc",
      "new_mode": 33188,
      "new_path": "builtin/rebase.c"
    },
    {
      "type": "modify",
      "old_id": "bedc40f368eccc83009cb20fefd3edf9bcb10a79",
      "old_mode": 33188,
      "old_path": "builtin/revert.c",
      "new_id": "52100a20cba59650d5ad47e0205ec1c0c9a5460d",
      "new_mode": 33188,
      "new_path": "builtin/revert.c"
    },
    {
      "type": "modify",
      "old_id": "cb5c3a1cb5bc6f228438551a9b0fb2526741ebb7",
      "old_mode": 33261,
      "old_path": "t/t3418-rebase-continue.sh",
      "new_id": "8056b3995530e9bb22b392e4e7c48177ed1ff3d2",
      "new_mode": 33261,
      "new_path": "t/t3418-rebase-continue.sh"
    },
    {
      "type": "modify",
      "old_id": "5777dff4964381412ad3e8e5adc7c52dd489a87f",
      "old_mode": 33261,
      "old_path": "t/t3510-cherry-pick-sequence.sh",
      "new_id": "1dbc42e7688d230457c3f5da533059a3fd5dc199",
      "new_mode": 33261,
      "new_path": "t/t3510-cherry-pick-sequence.sh"
    }
  ]
}
