)]}'
{
  "commit": "e7fab62b736cca3416660636e46f0be8386a5030",
  "tree": "d44b7bee236853dcc7f66a29340df9f4746f1b11",
  "parents": [
    "c44088ecc4b0722636e0a305f9608d3047197282"
  ],
  "author": {
    "name": "Jonathan Nieder",
    "email": "jrnieder@gmail.com",
    "time": "Sat Apr 18 20:54:57 2020 -0700"
  },
  "committer": {
    "name": "Jonathan Nieder",
    "email": "jrnieder@gmail.com",
    "time": "Sun Apr 19 16:10:58 2020 -0700"
  },
  "message": "credential: treat URL with empty scheme as invalid\n\nUntil \"credential: refuse to operate when missing host or protocol\",\nGit\u0027s credential handling code interpreted URLs with empty scheme to\nmean \"give me credentials matching this host for any protocol\".\n\nLuckily libcurl does not recognize such URLs (it tries to look for a\nprotocol named \"\" and fails). Just in case that changes, let\u0027s reject\nthem within Git as well. This way, credential_from_url is guaranteed to\nalways produce a \"struct credential\" with protocol and host set.\n\nSigned-off-by: Jonathan Nieder \u003cjrnieder@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "aedb64574def1542f24d9e8a09322779464cc97d",
      "old_mode": 33188,
      "old_path": "credential.c",
      "new_id": "64a841eddca9b48f16e649ead8338ad2e1076563",
      "new_mode": 33188,
      "new_path": "credential.c"
    },
    {
      "type": "modify",
      "old_id": "517202e47726a90cb43811649bd7b483ea1030c6",
      "old_mode": 33261,
      "old_path": "t/t5550-http-fetch-dumb.sh",
      "new_id": "86f6eeaf71d925e5fe97a6c2cdf8e6552a50ec91",
      "new_mode": 33261,
      "new_path": "t/t5550-http-fetch-dumb.sh"
    },
    {
      "type": "modify",
      "old_id": "249dc3d1d462f3bdb938313bf6f1e2a20063b1b4",
      "old_mode": 33261,
      "old_path": "t/t7416-submodule-dash-url.sh",
      "new_id": "9309040373c83211c4ee96da4202c40d5189fc89",
      "new_mode": 33261,
      "new_path": "t/t7416-submodule-dash-url.sh"
    }
  ]
}
