)]}'
{
  "commit": "3ec37ad13dea55f6a614753accc7fad84cb170be",
  "tree": "bf3fb6056dc4d0e9e2513de09f5518970a94ec28",
  "parents": [
    "b7b5fce2701c12895f75f8e716c629b45f105b0c"
  ],
  "author": {
    "name": "Nguyễn Thái Ngọc Duy",
    "email": "pclouds@gmail.com",
    "time": "Fri Mar 29 17:39:07 2019 +0700"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Tue Apr 02 13:56:59 2019 +0900"
  },
  "message": "switch: add --discard-changes\n\n--discard-changes is a better name than --force for this option since\nit\u0027s what really happens. --force is turned to an alias for\n--discard-changes. But it\u0027s meant to be an alias for potentially more\nforce options in the future.\n\nSide note. It\u0027s not obvious from the patch but --discard-changes also\naffects submodules if --recurse-submodules is used. The knob to force\nupdating submodules is hidden behind unpack-trees.c\n\nSigned-off-by: Nguyễn Thái Ngọc Duy \u003cpclouds@gmail.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "319ba372e39a10a839fffef5b427d863f48dacc9",
      "old_mode": 33188,
      "old_path": "builtin/checkout.c",
      "new_id": "6d0b2ef5654432c501e1511dd24bec0d524e7e2d",
      "new_mode": 33188,
      "new_path": "builtin/checkout.c"
    }
  ]
}
