)]}'
{
  "commit": "229d12665edb555df26653cf4a4731ae71c71a6d",
  "tree": "e5257b541377e4eb7a482f2b7487be57a5b866aa",
  "parents": [
    "c80760403b9bd2bc16a03168a972c47519004ea0"
  ],
  "author": {
    "name": "Johannes Schindelin",
    "email": "johannes.schindelin@gmx.de",
    "time": "Fri Jun 06 09:29:24 2025 +0000"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Fri Jun 06 08:12:24 2025 -0700"
  },
  "message": "curl: pass `long` values where expected\n\nAs of Homebrew\u0027s update to cURL v8.14.0, there are new compile errors to\nbe observed in the `osx-gcc` job of Git\u0027s CI builds:\n\n  In file included from http.h:8,\n                   from imap-send.c:36:\n  In function \u0027setup_curl\u0027,\n      inlined from \u0027curl_append_msgs_to_imap\u0027 at imap-send.c:1460:9,\n      inlined from \u0027cmd_main\u0027 at imap-send.c:1581:9:\n  /usr/local/Cellar/curl/8.14.0/include/curl/typecheck-gcc.h:50:15: error: call to \u0027_curl_easy_setopt_err_long\u0027 declared with attribute warning: curl_easy_setopt expects a long argument [-Werror\u003dattribute-warning]\n     50 |               _curl_easy_setopt_err_long();                             \\\n        |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~\n  /usr/local/Cellar/curl/8.14.0/include/curl/curl.h:54:7: note: in definition of macro \u0027CURL_IGNORE_DEPRECATION\u0027\n     54 |       statements \\\n        |       ^~~~~~~~~~\n  imap-send.c:1423:9: note: in expansion of macro \u0027curl_easy_setopt\u0027\n   1423 |         curl_easy_setopt(curl, CURLOPT_PORT, srvc-\u003eport);\n        |         ^~~~~~~~~~~~~~~~\n  [... many more instances of nearly identical warnings...]\n\nSee for example this CI workflow run:\nhttps://github.com/git/git/actions/runs/15454602308/job/43504278284#step:4:307\n\nThe most likely explanation is the entry \"typecheck-gcc.h: fix the\ntypechecks\" in cURL\u0027s release notes (https://curl.se/ch/8.14.0.html).\n\nNearly identical compile errors afflicted recently-updated Debian\nsetups, which have been addressed by `jk/curl-easy-setopt-typefix`.\n\nHowever, on macOS Git is built with different build options, which\nuncovered more instances of `int` values that need to be cast to\nconstants, which were not covered by 6f11c42e8edc (curl: fix integer\nconstant typechecks with curl_easy_setopt(), 2025-06-04). Let\u0027s\nexplicitly convert even those remaining `int` constants in\n`curl_easy_setopt()` calls to `long` parameters.\n\nIn addition to looking at the compile errors of the `osx-gcc` job, I\nverified that there are no other instances of the same issue that need\nto be handled in this manner (and that might not be caught by our CI\nbuilds because of yet other build options that might skip those code\nparts), I ran the following command and inspected all 23 results\nmanually to ensure that the fix is now actually complete:\n\n  git grep -n curl_easy_setopt |\n  grep -ve \u0027,.*, *[A-Za-z_\"\u0026]\u0027 \\\n    -e \u0027,.*, *[-0-9]*L)\u0027 \\\n    -e \u0027,.*,.* (long)\u0027\n\nSigned-off-by: Johannes Schindelin \u003cjohannes.schindelin@gmx.de\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "591e46ab260d57f20425790668c74070267f01da",
      "old_mode": 33188,
      "old_path": "http-push.c",
      "new_id": "f5a92529a8406b5cce2d60e1dddb518a84ed2394",
      "new_mode": 33188,
      "new_path": "http-push.c"
    },
    {
      "type": "modify",
      "old_id": "ecbc47ea4b3f27e03607fdb982f392ace3b209ae",
      "old_mode": 33188,
      "old_path": "http.c",
      "new_id": "d88e79fbde9c4c707c6f14aeffe6e0ac312224bf",
      "new_mode": 33188,
      "new_path": "http.c"
    },
    {
      "type": "modify",
      "old_id": "6183772191f2145e1dd76bd20dcf6f5cb27b983a",
      "old_mode": 33188,
      "old_path": "remote-curl.c",
      "new_id": "b8bc3a80cf4142ce03c357f3c4d28ef0822c95a6",
      "new_mode": 33188,
      "new_path": "remote-curl.c"
    }
  ]
}
