)]}'
{
  "commit": "191faaf72648c4ed080a9e38c1782bc1619a6e87",
  "tree": "ffd044190d721995fe6ba7896395a7b1b44ae07f",
  "parents": [
    "43966ab3156a082067bf9930351e96e9488da735"
  ],
  "author": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Tue May 31 09:22:20 2022 -0700"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Tue May 31 09:40:51 2022 -0700"
  },
  "message": "revert: --reference should apply only to \u0027revert\u0027, not \u0027cherry-pick\u0027\n\nAs \u0027revert\u0027 and \u0027cherry-pick\u0027 share a lot of code, it is easy to\nmodify the behaviour of one command and inadvertently affect the\nother.  An earlier change to teach the \u0027--reference\u0027 option and the\n\u0027revert.reference\u0027 configuration variable to the former was not\ncareful enough and \u0027cherry-pick --reference\u0027 wasn\u0027t rejected as an\nerror.\n\nIt is possible to think \u0027cherry-pick -x\u0027 might benefit from the\n\u0027--reference\u0027 option, but it is fundamentally different from\n\u0027revert\u0027 in at least two ways to make it questionable:\n\n - \u0027revert\u0027 names a commit that is ancestor of the resulting commit,\n   so an abbreviated object name with human readable title is\n   sufficient to identify the named commit uniquely without using\n   the full object name.  On the other hand, \u0027cherry-pick\u0027\n   usually [*] picks a commit that is not an ancestor.  It might be\n   even picking a private commit that never becomes part of the\n   public history.\n\n - The whole commit message of \u0027cherry-pick\u0027 is a copy of the\n   original commit, and there is nothing gained to repeat only the\n   title part on \u0027cherry-picked from\u0027 message.\n\n[*] well, you could revert and then you can pick the original that\n    was reverted to get back to where you were, but then you can\n    revert the revert to do the same thing.\n\nHelped-by: Phillip Wood \u003cphillip.wood@dunelm.org.uk\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ada51e46b9f2616ea4ac46a7c82bccca915462cb",
      "old_mode": 33188,
      "old_path": "builtin/revert.c",
      "new_id": "f84c253f4c6f65ba273263d92658c74378b0de74",
      "new_mode": 33188,
      "new_path": "builtin/revert.c"
    },
    {
      "type": "modify",
      "old_id": "96fec6ef6d908d4966bccd3482a0d1eb76906da8",
      "old_mode": 33188,
      "old_path": "sequencer.c",
      "new_id": "4b66a1f79c75f5314053aac18a5e6aa1895faad1",
      "new_mode": 33188,
      "new_path": "sequencer.c"
    },
    {
      "type": "modify",
      "old_id": "a386ae9e885db4c977c7b689b9c6d42be7764438",
      "old_mode": 33261,
      "old_path": "t/t3501-revert-cherry-pick.sh",
      "new_id": "fb4466599bc834c6af3f7ed083f57322b23287e1",
      "new_mode": 33261,
      "new_path": "t/t3501-revert-cherry-pick.sh"
    }
  ]
}
