)]}'
{
  "commit": "c4ba57939745641a3c7622096fddfc77cecf0d39",
  "tree": "7e19c7a354c381a3fc97efde20a82e50d1615699",
  "parents": [
    "3a63c6a48c0588a237b3133fe785d6e734dedbb5"
  ],
  "author": {
    "name": "Johannes Schindelin",
    "email": "johannes.schindelin@gmx.de",
    "time": "Mon Mar 15 21:08:20 2021 +0000"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Mon Mar 15 14:32:50 2021 -0700"
  },
  "message": "pkt-line: add PACKET_READ_GENTLE_ON_READ_ERROR option\n\nIntroduce PACKET_READ_GENTLE_ON_READ_ERROR option to help libify the\npacket readers.\n\nSo far, the (possibly indirect) callers of `get_packet_data()` can ask\nthat function to return an error instead of `die()`ing upon end-of-file.\nHowever, random read errors will still cause the process to die.\n\nSo let\u0027s introduce an explicit option to tell the packet reader\nmachinery to please be nice and only return an error on read errors.\n\nThis change prepares pkt-line for use by long-running daemon processes.\nSuch processes should be able to serve multiple concurrent clients and\nand survive random IO errors.  If there is an error on one connection,\na daemon should be able to drop that connection and continue serving\nexisting and future connections.\n\nThis ability will be used by a Git-aware \"Builtin FSMonitor\" feature\nin a later patch series.\n\nSigned-off-by: Johannes Schindelin \u003cjohannes.schindelin@gmx.de\u003e\nSigned-off-by: Jeff Hostetler \u003cjeffhost@microsoft.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bb0fb0c3802c9971a3262846f6852e19335b2cfd",
      "old_mode": 33188,
      "old_path": "pkt-line.c",
      "new_id": "457ac4e151bb651e45a255da029b6e7769c49434",
      "new_mode": 33188,
      "new_path": "pkt-line.c"
    },
    {
      "type": "modify",
      "old_id": "31012b9943bf352a51dd460c4baf91926e7e9b59",
      "old_mode": 33188,
      "old_path": "pkt-line.h",
      "new_id": "80ce0187e2ea7e903d28692c4df29ba2729ff485",
      "new_mode": 33188,
      "new_path": "pkt-line.h"
    }
  ]
}
