)]}'
{
  "commit": "3306edb3805aac7baf77c4916b5495ff278353e5",
  "tree": "5e770191b1b4fb953bafb1eb1c1f90046d48ff54",
  "parents": [
    "2d2a71ce85026edcc40f469678a1035df0dfcf57"
  ],
  "author": {
    "name": "brian m. carlson",
    "email": "sandals@crustytoothpaste.net",
    "time": "Sun Feb 23 01:53:31 2025 +0000"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Mon Feb 24 08:49:10 2025 -0800"
  },
  "message": "http: allow using netrc for WebDAV-based HTTP protocol\n\nFor an extended period of time, we\u0027ve enabled libcurl\u0027s netrc\nfunctionality, which will read credentials from the netrc file if none\nare provided.  Unfortunately, we have also not documented this fact or\nwritten any tests for it, but people have come to rely on it.\n\nIn 610cbc1dfb (\"http: allow authenticating proactively\", 2024-07-10), we\naccidentally broke the ability of users to use the netrc file for the\nWebDAV-based HTTP protocol.  Notably, it works on the initial request\nbut does not work on subsequent requests, which causes failures because\nthat version of the protocol will necessarily make multiple requests.\n\nThis happens because curl_empty_auth_enabled never returns -1, only 0 or\n1, and so if http.proactiveAuth is not enabled, the username and\npassword are always set to empty credentials, which prevents libcurl\u0027s\nfallback to netrc from working.  However, in other cases, the server\ncontinues to get a 401 response and the credential helper is invoked,\nwhich is the normal behavior, so this was not noticed earlier.\n\nTo fix this, change the condition to check for enabling empty auth and\nalso not having proactive auth enabled, which should result in the\nusername and password not being set to a single colon in the typical\ncase, and thus the netrc file being used.\n\nReported-by: Peter Georg \u003cpeter.georg@physik.uni-regensburg.de\u003e\nSigned-off-by: brian m. carlson \u003csandals@crustytoothpaste.net\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f4504133e88869dadb3ebad0b38902498d3cb5a1",
      "old_mode": 33188,
      "old_path": "http.c",
      "new_id": "0c9a872809f87228884bea4ca5c2235c8a7dba27",
      "new_mode": 33188,
      "new_path": "http.c"
    },
    {
      "type": "modify",
      "old_id": "37db3dec0c5b3939c9cb6f2e6f6e383c80045c87",
      "old_mode": 33261,
      "old_path": "t/t5540-http-push-webdav.sh",
      "new_id": "3fa05ff18540be179b05cc07906e7c4d59e4c736",
      "new_mode": 33261,
      "new_path": "t/t5540-http-push-webdav.sh"
    }
  ]
}
