)]}'
{
  "commit": "8089c85bcba89464b9b2a32fa948ed85eb367e70",
  "tree": "8a7bd3867356a060ca942123607e3dc95f0ef603",
  "parents": [
    "ec84bd000a89e657b36136ec927144cd13f26079"
  ],
  "author": {
    "name": "Paolo Bonzini",
    "email": "bonzini@gnu.org",
    "time": "Tue Feb 05 08:04:18 2008 +0100"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Wed Feb 06 02:26:55 2008 -0800"
  },
  "message": "git-commit: add a prepare-commit-msg hook\n\nThe prepare-commit-msg hook is run whenever a \"fresh\" commit message\nis prepared, just before it is shown in the editor (if it is).\nIts purpose is to modify the commit message in-place.\n\nIt takes one to three parameters.  The first is the name of the file that\nthe commit log message.  The second is the source of the commit message,\nand can be: \"message\" (if a -m or -F option was given); \"template\" (if a\n-t option was given or the configuration option commit.template is set);\n\"merge\" (if the commit is a merge or a .git/MERGE_MSG file exists);\n\"squash\" (if a .git/SQUASH_MSG file exists); or \"commit\", followed by\na commit SHA1 as the third parameter (if a -c, -C or --amend option\nwas given).\n\nIf its exit status is non-zero, git-commit will abort.  The hook is\nnot suppressed by the --no-verify option, so it should not be used\nas a replacement for the pre-commit hook.\n\nThe sample prepare-commit-msg comments out the `Conflicts:` part of\na merge\u0027s commit message; other examples are commented out, including\nadding a Signed-off-by line at the bottom of the commit messsage,\nthat the user can then edit or discard altogether.\n\nSigned-off-by: Paolo Bonzini \u003cbonzini@gnu.org\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c3725b2ed9958cdc02b312895f35d016e3579d10",
      "old_mode": 33188,
      "old_path": "Documentation/git-commit.txt",
      "new_id": "b4ae61ff46f4b7ff9e71e9e91a999fdc8fc17560",
      "new_mode": 33188,
      "new_path": "Documentation/git-commit.txt"
    },
    {
      "type": "modify",
      "old_id": "e8d80cfcdba2799e5f553f6bc004aa72b71a9f25",
      "old_mode": 33188,
      "old_path": "Documentation/hooks.txt",
      "new_id": "76b8d77460e961fda9a5505a4ce0cf20788de133",
      "new_mode": 33188,
      "new_path": "Documentation/hooks.txt"
    },
    {
      "type": "modify",
      "old_id": "e8cb32059091ce0fdc693096617f08e93203e0e8",
      "old_mode": 33188,
      "old_path": "builtin-commit.c",
      "new_id": "03caa30f0e4232bb613f70a04fa2914385e2cd6f",
      "new_mode": 33188,
      "new_path": "builtin-commit.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7ddec99a64273b056ff0f3e1fe1694315045f583",
      "new_mode": 33261,
      "new_path": "t/t7505-prepare-commit-msg-hook.sh"
    },
    {
      "type": "modify",
      "old_id": "c5cdb9d7eeebab7edf048e77eb92437de24751bf",
      "old_mode": 33188,
      "old_path": "templates/hooks--commit-msg",
      "new_id": "4ef86eb244bbbde9b793fd8cfab92042adb51485",
      "new_mode": 33188,
      "new_path": "templates/hooks--commit-msg"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ff0f42a1d984cdcd4b647e713eaec668177fb1f6",
      "new_mode": 33188,
      "new_path": "templates/hooks--prepare-commit-msg"
    }
  ]
}
