)]}'
{
  "commit": "6cec21a82f437184c69cce2b8fe6011d02acfa06",
  "tree": "a96aa25be16ce5847bf93a2e1799afbfc294153c",
  "parents": [
    "1f8b46d0a4fdcb6fea566405cfc5422d39c36d52"
  ],
  "author": {
    "name": "Yang Zhao",
    "email": "yang.zhao@skyboxlabs.com",
    "time": "Fri Dec 13 15:52:38 2019 -0800"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Wed Jan 15 12:53:39 2020 -0800"
  },
  "message": "git-p4: encode/decode communication with p4 for python3\n\nThe marshalled dict in the response given on STDOUT by p4 uses `str` for\nkeys and string values. When run using python3, these values are\ndeserialized as `bytes`, leading to a whole host of problems as the rest\nof the code assumes `str` is used throughout.\n\nThis patch changes the deserialization behaviour such that, as much as\npossible, text output from p4 is decoded to native unicode strings.\nExceptions are made for the field `data` as it is usually arbitrary\nbinary data. `depotFile[0-9]*`, `path`, and `clientFile` are also exempt\nas they contain path strings not encoded with UTF-8, and must survive\nround-trip back to p4.\n\nConversely, text data being piped to p4 must always be encoded when\nrunning under python3.\n\nencode_text_stream() and decode_text_stream() were added to make these\ntransformations more convenient.\n\nSigned-off-by: Yang Zhao \u003cyang.zhao@skyboxlabs.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "153aff16f39eb8b1d8fa1c636d20de055e3d4f54",
      "old_mode": 33261,
      "old_path": "git-p4.py",
      "new_id": "ca891e3d5dc63b1d7bc7a6eb08823a36b88f577d",
      "new_mode": 33261,
      "new_path": "git-p4.py"
    }
  ]
}
