)]}'
{
  "commit": "f3b4822899dc4ddca688de285f01e1d12aeb33b6",
  "tree": "ac759c1d85dbf76e6d10c84a1cc712591da527a6",
  "parents": [
    "e8ef1e8d6edd835fcea7f88d2740d756a1353190"
  ],
  "author": {
    "name": "Paolo Bonzini",
    "email": "pbonzini@redhat.com",
    "time": "Thu Feb 20 15:15:18 2020 +0100"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Thu Feb 20 13:20:40 2020 -0800"
  },
  "message": "am: support --show-current-patch\u003draw as a synonym for--show-current-patch\n\nWhen \"git am --show-current-patch\" was added in commit 984913a210 (\"am:\nadd --show-current-patch\", 2018-02-12), \"git am\" started recommending it\nas a replacement for .git/rebase-merge/patch.  Unfortunately the suggestion\nis somewhat misguided; for example, the output \"git am --show-current-patch\"\ncannot be passed to \"git apply\" if it is encoded as quoted-printable or\nbase64.  To simplify worktree operations and to avoid that users poke into\n.git, it would be better if \"git am\" also provided a mode that copies\n.git/rebase-merge/patch to stdout.\n\nOne possibility could be to have completely separate options, introducing\nfor example --show-current-message (for .git/rebase-apply/NNNN)\nand --show-current-diff (for .git/rebase-apply/patch), while possibly\ndeprecating --show-current-patch.\n\nThat would even remove the need for the first two patches in the series.\nHowever, the long common prefix would have prevented using an abbreviated\noption such as \"--show\".  Therefore, I chose instead to add a string\nargument to --show-current-patch.  The new argument is optional, so that\n\"git am --show-current-patch\"\u0027s behavior remains backwards-compatible.\n\nThe next choice to make is how to handle multiple --show-current-patch\noptions.  Right now, something like \"git am --abort --show-current-patch\"\nis rejected, and the previous suggestion would likewise have naturally\nrejected a command line like\n\n\tgit am --show-current-message --show-current-diff\n\nTherefore, I decided to also reject for example\n\n\tgit am --show-current-patch\u003ddiff --show-current-patch\u003draw\n\nIn other words the whole of --show-current-patch\u003dxxx (including the\noptional argument) is treated as the command mode.  I found this to be\nmore consistent and intuitive, even though it differs from the usual\n\"last one wins\" semantics of the git command line.\n\nAdd the code to parse submodes based on the above design, where for now\n\"raw\" is the only valid submode.  \"raw\" prints the full e-mail message\njust like \"git am --show-current-patch\".\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "11ca61b00b459ef40f5cac0038989f2db7390400",
      "old_mode": 33188,
      "old_path": "Documentation/git-am.txt",
      "new_id": "590b711536b97eaab7d4693d644a2bbc3aaf723e",
      "new_mode": 33188,
      "new_path": "Documentation/git-am.txt"
    },
    {
      "type": "modify",
      "old_id": "bd3cda8becc7d618434c8074b3777a00b5e94d06",
      "old_mode": 33188,
      "old_path": "builtin/am.c",
      "new_id": "54b04da86d9a515de3c60f56fb44c612647ff2b2",
      "new_mode": 33188,
      "new_path": "builtin/am.c"
    },
    {
      "type": "modify",
      "old_id": "e4d9ff4a95ceb56e568131c148de5aaed85219c2",
      "old_mode": 33188,
      "old_path": "contrib/completion/git-completion.bash",
      "new_id": "2673fc162c73b37d95726605f1b168816012ba08",
      "new_mode": 33188,
      "new_path": "contrib/completion/git-completion.bash"
    },
    {
      "type": "modify",
      "old_id": "4f1e24ecbecd87667251eab612c9b966405d53c6",
      "old_mode": 33261,
      "old_path": "t/t4150-am.sh",
      "new_id": "afe456e75ed0b633729986efa676bf604e4932e9",
      "new_mode": 33261,
      "new_path": "t/t4150-am.sh"
    }
  ]
}
