)]}'
{
  "commit": "4496526f80b3e4952036550b279eff8d1babd60a",
  "tree": "7f53e991d16c9db04d87eff111788eb92c897d4d",
  "parents": [
    "abe6bb3905392d5eb6b01fa6e54d7e784e0522aa"
  ],
  "author": {
    "name": "Phillip Wood",
    "email": "phillip.wood@dunelm.org.uk",
    "time": "Wed Dec 01 00:05:06 2021 +0000"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Wed Dec 01 14:45:58 2021 -0800"
  },
  "message": "xdiff: implement a zealous diff3, or \"zdiff3\"\n\n\"zdiff3\" is identical to ordinary diff3 except that it allows compaction\nof common lines on the two sides of history at the beginning or end of\nthe conflict hunk.  For example, the following diff3 conflict:\n\n    1\n    2\n    3\n    4\n    \u003c\u003c\u003c\u003c\u003c\u003c\n    A\n    B\n    C\n    D\n    E\n    ||||||\n    5\n    6\n    \u003d\u003d\u003d\u003d\u003d\u003d\n    A\n    X\n    C\n    Y\n    E\n    \u003e\u003e\u003e\u003e\u003e\u003e\n    7\n    8\n    9\n\nhas common lines \u0027A\u0027, \u0027C\u0027, and \u0027E\u0027 on the two sides.  With zdiff3, one\nwould instead get the following conflict:\n\n    1\n    2\n    3\n    4\n    A\n    \u003c\u003c\u003c\u003c\u003c\u003c\n    B\n    C\n    D\n    ||||||\n    5\n    6\n    \u003d\u003d\u003d\u003d\u003d\u003d\n    X\n    C\n    Y\n    \u003e\u003e\u003e\u003e\u003e\u003e\n    E\n    7\n    8\n    9\n\nNote that the common lines, \u0027A\u0027, and \u0027E\u0027 were moved outside the\nconflict.  Unlike with the two-way conflicts from the \u0027merge\u0027\nconflictStyle, the zdiff3 conflict is NOT split into multiple conflict\nregions to allow the common \u0027C\u0027 lines to be shown outside a conflict,\nbecause zdiff3 shows the base version too and the base version cannot be\nreasonably split.\n\nNote also that the removing of lines common to the two sides might make\nthe remaining text inside the conflict region match the base text inside\nthe conflict region (for example, if the diff3 conflict had \u00275 6 E\u0027 on\nthe right side of the conflict, then the common line \u0027E\u0027 would be moved\noutside and both the base and right side\u0027s remaining conflict text would\nbe the lines \u00275\u0027 and \u00276\u0027).  This has the potential to surprise users and\nmake them think there should not have been a conflict, but there\ndefinitely was a conflict and it should remain.\n\nBased-on-patch-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nCo-authored-by: Elijah Newren \u003cnewren@gmail.com\u003e\nSigned-off-by: Phillip Wood \u003cphillip.wood123@gmail.com\u003e\nSigned-off-by: Elijah Newren \u003cnewren@gmail.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "06a2f90c4875f2a8ff82a927071ac584ad929f8b",
      "old_mode": 33188,
      "old_path": "builtin/merge-file.c",
      "new_id": "e695867ee54894dceb5b0460cc9e0670d0f50607",
      "new_mode": 33188,
      "new_path": "builtin/merge-file.c"
    },
    {
      "type": "modify",
      "old_id": "c82ccaebcc7e1827eccbf7655baaa736092afaaa",
      "old_mode": 33188,
      "old_path": "contrib/completion/git-completion.bash",
      "new_id": "3bfb4c8892871ea67c9bd9befc1296b3b4c7a1b0",
      "new_mode": 33188,
      "new_path": "contrib/completion/git-completion.bash"
    },
    {
      "type": "modify",
      "old_id": "25c4b720e72712d07b344aebc8d797136cda83be",
      "old_mode": 33261,
      "old_path": "t/t6427-diff3-conflict-markers.sh",
      "new_id": "a9ee4cb207a140eb3c93614f25b9625f43553d59",
      "new_mode": 33261,
      "new_path": "t/t6427-diff3-conflict-markers.sh"
    },
    {
      "type": "modify",
      "old_id": "75b32aef51dabf9e9ae8384d0376287e3a8495d0",
      "old_mode": 33188,
      "old_path": "xdiff-interface.c",
      "new_id": "2e3a5a2943e7fc28e79a425fcbdb01da0b0567b0",
      "new_mode": 33188,
      "new_path": "xdiff-interface.c"
    },
    {
      "type": "modify",
      "old_id": "b29deca5de84babed44bce2ff4934745c90ffc70",
      "old_mode": 33188,
      "old_path": "xdiff/xdiff.h",
      "new_id": "72e25a9ffa56fbeebefbd2e9904b3957d0a8610d",
      "new_mode": 33188,
      "new_path": "xdiff/xdiff.h"
    },
    {
      "type": "modify",
      "old_id": "1659edb45393a6b57ca70654e67784e5d0025c65",
      "old_mode": 33188,
      "old_path": "xdiff/xmerge.c",
      "new_id": "fff0b594f9a851a8e1a6fca961692614ff0c822a",
      "new_mode": 33188,
      "new_path": "xdiff/xmerge.c"
    }
  ]
}
