)]}'
{
  "commit": "a48b409f9ccd4e1957286ba064fd3a25a9ea2b56",
  "tree": "0b39d2fdb8b39d8e0f3c185aa52ecd14e9671353",
  "parents": [
    "aab40438511dd2e4505c0850478e79773aa6721c"
  ],
  "author": {
    "name": "Jeff King",
    "email": "peff@peff.net",
    "time": "Tue Sep 08 04:33:14 2015 -0400"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Tue Sep 08 15:33:21 2015 -0700"
  },
  "message": "git_connect: clarify conn-\u003euse_shell flag\n\nWhen executing user-specified programs, we generally always\nwant to use a shell, for flexibility and consistency. One\nbig exception is executing $GIT_SSH, which for historical\nreasons must not use a shell.\n\nOnce upon a time the logic in git_connect looked like:\n\n  if (protocol \u003d\u003d PROTO_SSH) {\n\t  ... setup ssh ...\n  } else {\n\t  ... setup local connection ...\n\t  conn-\u003euse_shell \u003d 1;\n  }\n\nBut over time the PROTO_SSH block has grown, and the \"local\"\nblock has shrunk so that it contains only conn-\u003euse_shell;\nit\u0027s easy to miss at the end of the large block.  Moreover,\nPROTO_SSH now also sometimes sets use_shell, when the new\nGIT_SSH_COMMAND is used.\n\nLet\u0027s just set conn-\u003euse_shell when we\u0027re setting up the \"conn\"\nstruct, and unset it (with a comment) in the historical GIT_SSH\ncase.  This will make the flow easier to follow.\n\nSigned-off-by: Jeff King \u003cpeff@peff.net\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "962f9904d43df2baead8362f1eb427ff2e3cefca",
      "old_mode": 33188,
      "old_path": "connect.c",
      "new_id": "acd39d70c8781d837bce45317d6b9641a522f85f",
      "new_mode": 33188,
      "new_path": "connect.c"
    }
  ]
}
