)]}'
{
  "commit": "b6312c27a06f31625d915d44531d5e728ffd8d63",
  "tree": "d19ceaa82ba5ff322fa5495951e2ad04c395a30e",
  "parents": [
    "e51e30577a9056f5ae7195c694a00ee71200a9d5"
  ],
  "author": {
    "name": "Nguyễn Thái Ngọc Duy",
    "email": "pclouds@gmail.com",
    "time": "Thu Aug 30 19:45:50 2012 +0700"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Tue Sep 11 11:49:31 2012 -0700"
  },
  "message": "checkout: reorder option handling\n\ncheckout operates in three different modes. On top of that it tries to\nbe smart by guessing the branch name for switching. This results in\nmessy option handling code. This patch reorders it so that\n\n - cmd_checkout() is responsible for parsing, preparing input and\n   determining mode\n\n - Code of each mode is in checkout_paths() and checkout_branch(),\n   where sanity checks are performed\n\nAnother slight improvement is always print branch name (or commit\nname) when printing errors related ot them. This helps catch the case\nwhere an option is mistaken as branch/commit.\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": "78abaeb92d2681f3b27b807224e96ae952ecd9bf",
      "old_mode": 33188,
      "old_path": "builtin/checkout.c",
      "new_id": "b4030121c8e1ccd50c4049184ef7764e141f1cfd",
      "new_mode": 33188,
      "new_path": "builtin/checkout.c"
    }
  ]
}
