)]}'
{
  "commit": "4c68e7ddb59457efe9d3a141dc600feda86cbe67",
  "tree": "b24671648020ee2b0bc59d40559671d8dd056573",
  "parents": [
    "9055e401dd63a422a4401a454ef2a0e2ef727ace"
  ],
  "author": {
    "name": "Johannes Schindelin",
    "email": "johannes.schindelin@gmx.de",
    "time": "Wed Apr 25 14:28:54 2018 +0200"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Thu Apr 26 12:28:42 2018 +0900"
  },
  "message": "sequencer: introduce the `merge` command\n\nThis patch is part of the effort to reimplement `--preserve-merges` with\na substantially improved design, a design that has been developed in the\nGit for Windows project to maintain the dozens of Windows-specific patch\nseries on top of upstream Git.\n\nThe previous patch implemented the `label` and `reset` commands to label\ncommits and to reset to labeled commits. This patch adds the `merge`\ncommand, with the following syntax:\n\n\tmerge [-C \u003ccommit\u003e] \u003crev\u003e # \u003coneline\u003e\n\nThe \u003ccommit\u003e parameter in this instance is the *original* merge commit,\nwhose author and message will be used for the merge commit that is about\nto be created.\n\nThe \u003crev\u003e parameter refers to the (possibly rewritten) revision to\nmerge. Let\u0027s see an example of a todo list (the initial `label onto`\ncommand is an auto-generated convenience so that the label `onto` can be\nused to refer to the revision onto which we rebase):\n\n\tlabel onto\n\n\t# Branch abc\n\treset onto\n\tpick deadbeef Hello, world!\n\tlabel abc\n\n\treset onto\n\tpick cafecafe And now for something completely different\n\tmerge -C baaabaaa abc # Merge the branch \u0027abc\u0027 into master\n\nTo edit the merge commit\u0027s message (a \"reword\" for merges, if you will),\nuse `-c` (lower-case) instead of `-C`; this convention was borrowed from\n`git commit` that also supports `-c` and `-C` with similar meanings.\n\nTo create *new* merges, i.e. without copying the commit message from an\nexisting commit, simply omit the `-C \u003ccommit\u003e` parameter (which will\nopen an editor for the merge message):\n\n\tmerge abc\n\nThis comes in handy when splitting a branch into two or more branches.\n\nNote: this patch only adds support for recursive merges, to keep things\nsimple. Support for octopus merges will be added later in a separate\npatch series, support for merges using strategies other than the\nrecursive merge is left for the future.\n\nSigned-off-by: Johannes Schindelin \u003cjohannes.schindelin@gmx.de\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d6e8958dae4ae457d0aac7dd084d6bf975b075c5",
      "old_mode": 33188,
      "old_path": "git-rebase--interactive.sh",
      "new_id": "acb4bfd3fc891d1c3803f669decb44396ae8a335",
      "new_mode": 33188,
      "new_path": "git-rebase--interactive.sh"
    },
    {
      "type": "modify",
      "old_id": "c9655edffa5b227f7228956d351e89be4f9d2612",
      "old_mode": 33188,
      "old_path": "sequencer.c",
      "new_id": "94f4831a0c3abdbe60c2abd135332ac6a293730f",
      "new_mode": 33188,
      "new_path": "sequencer.c"
    }
  ]
}
