)]}'
{
  "commit": "cc97a912eb14151fa704147e4c748038bd1ab0c4",
  "tree": "41f04b1f647dc9fab7bd6c4f2d2aae5b5db58185",
  "parents": [
    "a018953688f1b10bddf91bff8747068f5f4746a4"
  ],
  "author": {
    "name": "Harald Nordgren",
    "email": "haraldnordgren@gmail.com",
    "time": "Tue Oct 06 06:56:37 2026 +0000"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Tue Oct 06 09:20:39 2026 -0700"
  },
  "message": "ci: annotate leaks and stop a leak-sanitizer script at its first failure\n\nA leak is only discovered once, at the end of a whole script, well\nafter every test has already reported ok, and it gets no annotation at\nall, so a leak-sanitizer job\u0027s only visible failure is:\n\n    Process completed with exit code 1.\n\nGive a leak its own annotation, naming the script it turned up in, the\nexact line isn\u0027t known, only which script:\n\n    memory leak logged in t1060 (t1060-object-corruption.sh)\n\nPut the sanitizer report in a log group next to it, so it stays\nvisible.\n\nOnce a script has one leak, it keeps running: the sanitizer log\ndirectory is never cleared between tests, so every later test in the\nsame script sees the same leftover log entries and also reports \"not\nok\", burying the one real failure in copies of itself. Stop a\nleak-sanitizer script at its first failure with --immediate instead.\n\nA failing test already gets its own annotation once its script\nfinishes, but --immediate exits as soon as that test fails, before\nreaching the code that writes it. Write the annotation first, so\nturning on --immediate here does not silently drop it.\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": "c6ccbf8c171dd785a9b7be734ac101df73bcd260",
      "old_mode": 33261,
      "old_path": "ci/lib.sh",
      "new_id": "a89f480a78407ed5200c08f09f16e68f03cbc697",
      "new_mode": 33261,
      "new_path": "ci/lib.sh"
    },
    {
      "type": "modify",
      "old_id": "fa29a62aa311c5521b2bd5f39c4b3c781defd197",
      "old_mode": 33188,
      "old_path": "t/test-lib-github-workflow-markup.sh",
      "new_id": "3fa7859f0bfc3fa791f337c26e0a936326d06b6d",
      "new_mode": 33188,
      "new_path": "t/test-lib-github-workflow-markup.sh"
    },
    {
      "type": "modify",
      "old_id": "1f0505e412d8ffb333858e4247b57280d9d24c13",
      "old_mode": 33188,
      "old_path": "t/test-lib.sh",
      "new_id": "e74a12f1dd782f69b22763c933692d50d86ddae1",
      "new_mode": 33188,
      "new_path": "t/test-lib.sh"
    }
  ]
}
