)]}'
{
  "commit": "0c8424c259b417c6aadc23f5398e55edd7b047a2",
  "tree": "4ac6377887b49a395f1aee238400d2f6088de944",
  "parents": [
    "67ad42147a7acc2af6074753ebd03d904476118f"
  ],
  "author": {
    "name": "Patrick Steinhardt",
    "email": "ps@pks.im",
    "time": "Thu Apr 02 08:51:18 2026 +0200"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Thu Apr 02 11:39:42 2026 -0700"
  },
  "message": "t: work around multibyte bug in quoted heredocs with Dash v0.5.13\n\nWhen executing our test suite with Dash v0.5.13.2 one can observe\nseveral test failures that all have the same symptoms: we have a quoted\nheredoc that contains multibyte characters, but the final data does not\nmatch what we actually wanted to write. One such example is in t0300,\nwhere we see the diffs like the following:\n\n  --- expect-stdout\t2026-04-01 07:25:45.249919440 +0000\n  +++ stdout\t2026-04-01 07:25:45.254919509 +0000\n  @@ -1,5 +1,5 @@\n   protocol\u003dhttps\n   host\u003dexample.com\n  -path\u003dperú.git\n  +path\u003dperú.git\n   username\u003dfoo\n   password\u003dbar\n\nWhile seemingly the same, the data that we\u0027ve written via the heredoc\ncontains some invisible bytes. The expected hex representation of the\nstring is:\n\n  7065 72c3 ba2e 6769 74                 per...git\n\nBut what we actually get instead is this string:\n\n  7065 7285 02c3 ba02 852e 6769 74       per.......git\n\nWhat\u0027s important to note here is that the multibyte character exists in\nboth versions. But in the broken version we see that the bytes are\nwrapped in a sequence of \"85 02\" and \"02 85\". This is the CTLMBCHAR byte\nsequence of Dash, which it uses internally to quote multibyte sequences.\n\nAs it turns out, this bug was introduced in c5bf970 (expand: Add\nmulti-byte support to pmatch, 2024-06-02), which adds multibyte support\nto more contexts of Dash. One of these contexts seems to be in heredocs,\nand Dash _does_ correctly unquote these multibyte sequences when using\nan unquoted heredoc. But the bug seems to be that this unquoting does\nnot happen in quoted heredocs, and the bug still exists on the latest\n\"master\" branch.\n\nFor now, work around the bug by using unquoted heredocs instead.\n\nSigned-off-by: Patrick Steinhardt \u003cps@pks.im\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "07aa834d33e248c8703e3cf2ff85bed0e4d1439d",
      "old_mode": 33261,
      "old_path": "t/t0300-credentials.sh",
      "new_id": "64ead1571ae1e1a809636ae1d55e16db21dabc9f",
      "new_mode": 33261,
      "new_path": "t/t0300-credentials.sh"
    },
    {
      "type": "modify",
      "old_id": "cc627e34a741e6cfb4f5ddaf54144ea01d87038b",
      "old_mode": 33261,
      "old_path": "t/t3430-rebase-merges.sh",
      "new_id": "84b2d0e664e58f759146b499f35c3b5199da86a5",
      "new_mode": 33261,
      "new_path": "t/t3430-rebase-merges.sh"
    },
    {
      "type": "modify",
      "old_id": "f528008c363c68f40da3b88a34ae8ec931d0c1ac",
      "old_mode": 33261,
      "old_path": "t/t3902-quoted.sh",
      "new_id": "8660ec5cb0acdb5f5722f0629936d9257482d142",
      "new_mode": 33261,
      "new_path": "t/t3902-quoted.sh"
    },
    {
      "type": "modify",
      "old_id": "21d6d0cd9ef679c04534fb9fa61952546c63c740",
      "old_mode": 33261,
      "old_path": "t/t4014-format-patch.sh",
      "new_id": "d598e953004ce7666056504b7bd958d4e5873cf6",
      "new_mode": 33261,
      "new_path": "t/t4014-format-patch.sh"
    },
    {
      "type": "modify",
      "old_id": "5f23fc147bb88d1cc3f9485cafa4da832d035ca4",
      "old_mode": 33261,
      "old_path": "t/t4201-shortlog.sh",
      "new_id": "9f41d56d9a556c0d10b7dfcd18d605ce37f87bf0",
      "new_mode": 33261,
      "new_path": "t/t4201-shortlog.sh"
    },
    {
      "type": "modify",
      "old_id": "e56e0c8d7770b070b706ef9b7c90b7945a0b3a3a",
      "old_mode": 33261,
      "old_path": "t/t9001-send-email.sh",
      "new_id": "a8dde942f584fa5362bf22643d66401aa5316664",
      "new_mode": 33261,
      "new_path": "t/t9001-send-email.sh"
    }
  ]
}
