)]}'
{
  "commit": "bc47139f4ff6c0c41d4c854ca74c35b1006a464a",
  "tree": "b4022b46ffca3df9c2fdf1740d5052dfab26a45f",
  "parents": [
    "de7c27a1869953158436e60542ea556d78c3f4c2"
  ],
  "author": {
    "name": "Jeff King",
    "email": "peff@peff.net",
    "time": "Mon Feb 19 20:09:36 2024 -0500"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Mon Feb 19 19:06:18 2024 -0800"
  },
  "message": "trailer: fix comment/cut-line regression with opts-\u003eno_divider\n\nCommit 97e9d0b78a (trailer: find the end of the log message, 2023-10-20)\ncombined two code paths for finding the end of the log message. For the\n\"no_divider\" case, we used to use find_trailer_end(), and that has now\nbeen rolled into find_end_of_log_message(). But there\u0027s a regression;\nthat function returns early when no_divider is set, returning the whole\nstring.\n\nThat\u0027s not how find_trailer_end() behaved. Although it did skip the\n\"---\" processing (which is what \"no_divider\" is meant to do), we should\nstill respect ignored_log_message_bytes(), which covers things like\ncomments, \"commit -v\" cut lines, and so on.\n\nThe bug is actually in the interpret-trailers command, but the obvious\nway to experience it is by running \"commit -v\" with a \"--trailer\"\noption. The new trailer will be added at the end of the verbose diff,\nrather than before it (and consequently will be ignored entirely, since\neverything after the diff\u0027s intro scissors line is thrown away).\n\nI\u0027ve added two tests here: one for interpret-trailers directly, which\nshows the bug via the parsing routines, and one for \"commit -v\".\n\nThe fix itself is pretty simple: instead of returning early, no_divider\njust skips the \"---\" handling but still calls ignored_log_message_bytes().\n\nReported-by: Philippe Blain \u003clevraiphilippeblain@gmail.com\u003e\nSigned-off-by: Jeff King \u003cpeff@peff.net\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b5bf7de7cd66c781657173bac3074cacb1107bf1",
      "old_mode": 33261,
      "old_path": "t/t7502-commit-porcelain.sh",
      "new_id": "d8e216613f74603ebfdf57b54779a51f4ca29176",
      "new_mode": 33261,
      "new_path": "t/t7502-commit-porcelain.sh"
    },
    {
      "type": "modify",
      "old_id": "97f10905d23fd3077aa9dd253fa079eb9c5be73d",
      "old_mode": 33261,
      "old_path": "t/t7513-interpret-trailers.sh",
      "new_id": "3343ad0eb621cc8bb47fab60e9d57badd10b2d94",
      "new_mode": 33261,
      "new_path": "t/t7513-interpret-trailers.sh"
    },
    {
      "type": "modify",
      "old_id": "816f8b28a9e9aa7b841cc3b22dbe23ef11190081",
      "old_mode": 33188,
      "old_path": "trailer.c",
      "new_id": "009ee80deec8c16d5336dd52c751f3b6cd7cfa3e",
      "new_mode": 33188,
      "new_path": "trailer.c"
    }
  ]
}
