)]}'
{
  "commit": "156e1782a88d882faf66680b5155a1c140e86a56",
  "tree": "ba225fcf23d0ea18a05bfe7a786fd145210d0a4f",
  "parents": [
    "38e79b1fdab9244e1727d0698afcf3bb8956c0a4"
  ],
  "author": {
    "name": "Ramsay Jones",
    "email": "ramsay@ramsayjones.plus.com",
    "time": "Mon Mar 19 17:54:35 2018 +0000"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Tue Mar 20 09:59:21 2018 -0700"
  },
  "message": "-Wuninitialized: remove some \u0027init-self\u0027 workarounds\n\nThe \u0027self-initialised\u0027 variables construct (ie \u003ctype\u003e var \u003d var;) has\nbeen used to silence gcc \u0027-W[maybe-]uninitialized\u0027 warnings. This has,\nunfortunately, caused MSVC to issue \u0027uninitialized variable\u0027 warnings.\nAlso, using clang static analysis causes complaints about an \u0027Assigned\nvalue is garbage or undefined\u0027.\n\nThere are six such constructs in the current codebase. Only one of the\nsix causes gcc to issue a \u0027-Wmaybe-uninitialized\u0027 warning (which will\nbe addressed elsewhere). The remaining five \u0027init-self\u0027 gcc workarounds\nare noted below, along with the commit which introduced them:\n\n  1. builtin/rev-list.c: \u0027reaches\u0027 and \u0027all\u0027, see commit 457f08a030\n     (\"git-rev-list: add --bisect-vars option.\", 2007-03-21).\n\n  2. merge-recursive.c:2064 \u0027mrtree\u0027, see commit f120ae2a8e (\"merge-\n     recursive.c: mrtree in merge() is not used before set\", 2007-10-29).\n\n  3. fast-import.c:3023 \u0027oe\u0027, see commit 85c62395b1 (\"fast-import: let\n     importers retrieve blobs\", 2010-11-28).\n\n  4. fast-import.c:3006 \u0027oe\u0027, see commit 28c7b1f7b7 (\"fast-import: add a\n     get-mark command\", 2015-07-01).\n\nRemove the \u0027self-initialised\u0027 variable constructs noted above.\n\nSigned-off-by: Ramsay Jones \u003cramsay@ramsayjones.plus.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d5345b6a2e237b550e5cee69e6d46ff8271ade22",
      "old_mode": 33188,
      "old_path": "builtin/rev-list.c",
      "new_id": "fbfc62de41468bd96a7effe3b3aedcf4ecb0e314",
      "new_mode": 33188,
      "new_path": "builtin/rev-list.c"
    },
    {
      "type": "modify",
      "old_id": "b70ac025e0428b239c9cb8b8a70dda70c0cc1007",
      "old_mode": 33188,
      "old_path": "fast-import.c",
      "new_id": "1f01a2205506054a4d9e1c80e74a29aa0f974b0d",
      "new_mode": 33188,
      "new_path": "fast-import.c"
    },
    {
      "type": "modify",
      "old_id": "cc5fa0a94965fad8821cdf81dfe84737f4dee043",
      "old_mode": 33188,
      "old_path": "merge-recursive.c",
      "new_id": "7dad1646921d4f5c503646af40446de2edb09d1f",
      "new_mode": 33188,
      "new_path": "merge-recursive.c"
    }
  ]
}
