)]}'
{
  "commit": "b02e7d5d701a6217a3a522d9169b483b25c262dc",
  "tree": "bc10e8b9d983bc5fa7dcf9c300dbd1e0cf1f4ca8",
  "parents": [
    "effc2bae642a08ea0cb4a9020cb57632d00ab1a0"
  ],
  "author": {
    "name": "Johannes Schindelin",
    "email": "johannes.schindelin@gmx.de",
    "time": "Fri Apr 12 02:37:24 2019 -0700"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Mon Apr 15 11:54:04 2019 +0900"
  },
  "message": "tests: disallow the use of abbreviated options (by default)\n\nGit\u0027s command-line parsers support uniquely abbreviated options, e.g.\n`git init --ba` would automatically expand `--ba` to `--bare`.\n\nThis is a very convenient feature in every day life for Git users, in\nparticular when tab completion is not available.\n\nHowever, it is not a good idea to rely on that in Git\u0027s test suite, as\nsomething that is a unique abbreviation of a command line option today\nmight no longer be a unique abbreviation tomorrow.\n\nFor example, if a future contribution added a new mode\n`git init --babyproofing` and a previously-introduced test case used the\nfact that `git init --ba` expanded to `git init --bare`, that future\ncontribution would now have to touch seemingly unrelated tests just to\nkeep the test suite from failing.\n\nSo let\u0027s disallow abbreviated options in the test suite by default.\n\nNote: for ease of implementation, this patch really only touches the\n`parse-options` machinery: more and more hand-rolled option parsers are\nconverted to use that internal API, and more and more scripts are\nconverted to built-ins (naturally using the parse-options API, too), so\nin practice this catches most issues, and is definitely the biggest bang\nfor the buck.\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": "cec74522e56b084fbb0c8eeec47456d0bb2f7d3e",
      "old_mode": 33188,
      "old_path": "parse-options.c",
      "new_id": "acc3a93660e6b567bd8a7285dd4e43860dd0a7f3",
      "new_mode": 33188,
      "new_path": "parse-options.c"
    },
    {
      "type": "modify",
      "old_id": "656288edcea5a23a5893ade5c2d81ee429eb26e8",
      "old_mode": 33188,
      "old_path": "t/README",
      "new_id": "9ed3051a1cc662208cd84afbd4817f1abbc7f5f5",
      "new_mode": 33188,
      "new_path": "t/README"
    },
    {
      "type": "modify",
      "old_id": "b8f366c4420f47d913b1d830037d846e4e443074",
      "old_mode": 33261,
      "old_path": "t/t0040-parse-options.sh",
      "new_id": "800b3ea5f5b64650efa95bfa05e8f90945966f85",
      "new_mode": 33261,
      "new_path": "t/t0040-parse-options.sh"
    },
    {
      "type": "modify",
      "old_id": "562c57e6858b79aff074fcb7ab8c65fa2f110bc0",
      "old_mode": 33188,
      "old_path": "t/test-lib.sh",
      "new_id": "c14ebe68d3d1d1493ccf1aa220e0940597257ef8",
      "new_mode": 33188,
      "new_path": "t/test-lib.sh"
    }
  ]
}
