)]}'
{
  "commit": "1806c29f2eb5f7e4b5952f4fcc75f2afe279f1a4",
  "tree": "a3ae8668c6b94d37206498d73f6b95419f930fe5",
  "parents": [
    "c45f0f525de4701b8ff031d5c2c58c0fa819038e"
  ],
  "author": {
    "name": "Nguyễn Thái Ngọc Duy",
    "email": "pclouds@gmail.com",
    "time": "Fri Mar 29 17:39:16 2019 +0700"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Tue Apr 02 13:57:00 2019 +0900"
  },
  "message": "switch: make --orphan switch to an empty tree\n\nSwitching and creating branches always involves knowing the\n\u003cstart-point\u003e to begin the new branch from. Sometimes, people want to\ncreate a new branch that does not have any commits yet; --orphan is a\nflag to allow that.\n\n--orphan overrides the default of HEAD for \u003cstart-point\u003e instead causing\nus to start from an empty history with all tracked files removed from\nthe index and working tree. The use of --orphan is incompatible with\nspecifying a \u003cstart-point\u003e.\n\nA note on the implementation. An alternative is just create a dummy\ncommit in-core with empty tree and switch to it. But there\u0027s a chance\nthe commit\u0027s SHA-1 may end up somewhere permanent like reflog. It\u0027s best\nto make sure \"commit\" pointer is NULL to avoid it.\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": "5f100c1552324775a9a978f03b3adca50138fbe5",
      "old_mode": 33188,
      "old_path": "builtin/checkout.c",
      "new_id": "0351735c6eb706c160d2dd32c9aa90cde611aa92",
      "new_mode": 33188,
      "new_path": "builtin/checkout.c"
    }
  ]
}
