)]}'
{
  "commit": "1351570912b9a1ad324a79bfc8f1b0e736ba87fc",
  "tree": "373d9d9f4381c5e97950b0ff8e7bc8d7373eb735",
  "parents": [
    "34a2498659581f63e1fc4dfe7b1523b1531e9748"
  ],
  "author": {
    "name": "Taylor Blau",
    "email": "me@ttaylorr.com",
    "time": "Mon Apr 08 11:51:44 2024 -0400"
  },
  "committer": {
    "name": "Johannes Sixt",
    "email": "j6t@kdbg.org",
    "time": "Sun May 05 16:54:35 2024 +0200"
  },
  "message": "Makefile(s): avoid recipe prefix in conditional statements\n\nIn GNU Make commit 07fcee35 ([SV 64815] Recipe lines cannot contain\nconditional statements, 2023-05-22) and following, conditional\nstatements may no longer be preceded by a tab character (which Make\nrefers to as the recipe prefix).\n\nThere are a handful of spots in our various Makefile(s) which will break\nin a future release of Make containing 07fcee35. For instance, trying to\ncompile the pre-image of this patch with the tip of make.git results in\nthe following:\n\n    $ make -v | head -1 \u0026\u0026 make\n    GNU Make 4.4.90\n    config.mak.uname:842: *** missing \u0027endif\u0027.  Stop.\n\nThe kernel addressed this issue in 82175d1f9430 (kbuild: Replace tabs\nwith spaces when followed by conditionals, 2024-01-28). Address the\nissues in Git\u0027s tree by applying the same strategy.\n\nWhen a conditional word (ifeq, ifneq, ifdef, etc.) is preceded by one or\nmore tab characters, replace each tab character with 8 space characters\nwith the following:\n\n    find . -type f -not -path \u0027./.git/*\u0027 -name Makefile -or -name \u0027*.mak\u0027 |\n      xargs perl -i -pe \u0027\n        s/(\\t+)(ifn?eq|ifn?def|else|endif)/\" \" x (length($1) * 8) . $2/ge unless /\\\\$/\n      \u0027\n\nThe \"unless /\\\\$/\" removes any false-positives (like \"\\telse \\\"\nappearing within a shell script as part of a recipe).\n\nAfter doing so, Git compiles on newer versions of Make:\n\n    $ make -v | head -1 \u0026\u0026 make\n    GNU Make 4.4.90\n    GIT_VERSION \u003d 2.44.0.414.gfac1dc44ca9\n    [...]\n\n    $ echo $?\n    0\n\n[j6t: cherry-picked from 728b9ac0c3b9]\n\nReported-by: Dario Gjorgjevski \u003cdario.gjorgjevski@gmail.com\u003e\nSigned-off-by: Taylor Blau \u003cme@ttaylorr.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\nSigned-off-by: Johannes Sixt \u003cj6t@kdbg.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3f80435436c11d2f36ee626450ae72697570ca8e",
      "old_mode": 33188,
      "old_path": "Makefile",
      "new_id": "667c39ed564a55f13145c071cf5b4d81fac4b3a8",
      "new_mode": 33188,
      "new_path": "Makefile"
    }
  ]
}
