)]}'
{
  "commit": "62a5bde827cee1f5b669e1f4d33973fa849511cb",
  "tree": "511923bfa7e66bd8b7ddee0f16d1b788cd322c29",
  "parents": [
    "8766c19eb465e01be5658e6aa7baf2a41f3ce393"
  ],
  "author": {
    "name": "Harald Nordgren",
    "email": "haraldnordgren@gmail.com",
    "time": "Mon Jul 20 08:27:04 2026 +0000"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Wed Jul 29 10:36:55 2026 -0700"
  },
  "message": "history: re-edit a squash with every message\n\nBy default \"git history squash\" reuses the oldest commit\u0027s message, or\nthe replacement body from an amend! commit targeting it. When\n--reedit-message is given it only reopened that selected message, so the\nmessages of the other commits in the range were lost.\n\nGather the message of every commit in the range and build the same editor\ntemplate that \"git rebase -i --autosquash\" shows for a squash, reusing\nadd_squash_combination_header(), add_squash_message_header() and\nsquash_subject_comment_len(). Feed the range through\ntodo_list_rearrange_squash() so that each fixup!, squash! or amend! is\ngrouped under the commit it targets rather than shown in commit order,\nexactly as autosquash would arrange them.\n\nOnly the message text differs, the changes are always folded in. A fixup!\nmessage is commented out in full under a \"will be skipped\" header, a\nsquash! keeps its body with only the marker subject commented, and an\namend! replaces its target\u0027s message unless a squash! already folded into\nthat target, in which case it behaves like a squash!.\n\nSigned-off-by: Harald Nordgren \u003charaldnordgren@gmail.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e1e930f355e89cc680e812b42426c861586c9777",
      "old_mode": 33188,
      "old_path": "Documentation/git-history.adoc",
      "new_id": "6f3b031d2a40fd5ac1cf16344e183f6509b3f6ed",
      "new_mode": 33188,
      "new_path": "Documentation/git-history.adoc"
    },
    {
      "type": "modify",
      "old_id": "423c8beaaf79a1b6e50149b49e251768010dd7e7",
      "old_mode": 33188,
      "old_path": "builtin/history.c",
      "new_id": "2542ea33a0acb464a52f08e1735cd82bb8d08ffc",
      "new_mode": 33188,
      "new_path": "builtin/history.c"
    },
    {
      "type": "modify",
      "old_id": "9c362f309442bea8ba3b7c33857ee0dcec458466",
      "old_mode": 33261,
      "old_path": "t/t3455-history-squash.sh",
      "new_id": "6fce92432790705c88fca71dcb8cc78de099b00f",
      "new_mode": 33261,
      "new_path": "t/t3455-history-squash.sh"
    }
  ]
}
