)]}'
{
  "commit": "df2f1908a9665c29130d860f630e844dd1a9cd06",
  "tree": "72811aeffd502475c582c3afea91a58447ed2215",
  "parents": [
    "3ab26ffcea3c1439d084d45f00a10bf7d4c41a63"
  ],
  "author": {
    "name": "Rob Mohr",
    "email": "mohrr@google.com",
    "time": "Thu Jul 09 07:01:50 2020 -0700"
  },
  "committer": {
    "name": "CQ Bot Account",
    "email": "commit-bot@chromium.org",
    "time": "Tue Jul 21 21:58:13 2020 +0000"
  },
  "message": "pw_env_setup: make all Python code 3.7-compatible\n\nMake all Python code compatible with 3.7. Specifically, remove\ndependency on shlex.join(), a one-line function added in Python 3.8, and\ntyping.Literal.\n\nChange-Id: I38f57c9f0ee7b8ef1c3e3d9ead456b2e60a4b42d\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/13461\nReviewed-by: Michael Spang \u003cspang@google.com\u003e\nReviewed-by: Keir Mierle \u003ckeir@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e30840ec30307a57721e206713e8933ca13d21da",
      "old_mode": 33188,
      "old_path": "pw_build/py/exec.py",
      "new_id": "0b7445857583cbff0d1926de269a74149c02f980",
      "new_mode": 33188,
      "new_path": "pw_build/py/exec.py"
    },
    {
      "type": "modify",
      "old_id": "62061b6e1ec5e0a7538f39248f62aa18ba26f8ef",
      "old_mode": 33261,
      "old_path": "pw_build/py/python_runner.py",
      "new_id": "0b2a123e46d7d10e5dbf2ad0b4f5548835952b5b",
      "new_mode": 33261,
      "new_path": "pw_build/py/python_runner.py"
    },
    {
      "type": "modify",
      "old_id": "245099255bb120e07cbd62bf358fe44945c469d0",
      "old_mode": 33188,
      "old_path": "pw_cli/py/pw_cli/envparse.py",
      "new_id": "91445af1b73c4219b94693ab7113b9e43144bb31",
      "new_mode": 33188,
      "new_path": "pw_cli/py/pw_cli/envparse.py"
    },
    {
      "type": "modify",
      "old_id": "d86dcfc4ffa9e90012c3ef324aa8bd5844c48687",
      "old_mode": 33188,
      "old_path": "pw_cli/py/pw_cli/process.py",
      "new_id": "825dc0815520e443bfd7c5624de6183d3ad28286",
      "new_mode": 33188,
      "new_path": "pw_cli/py/pw_cli/process.py"
    },
    {
      "type": "modify",
      "old_id": "c7f89e3067b0f66248fb67e3cbaf693902c4fdb2",
      "old_mode": 33188,
      "old_path": "pw_presubmit/py/pw_presubmit/tools.py",
      "new_id": "6cb804fafc21acec645297fa5a1bcad587b0c808",
      "new_mode": 33188,
      "new_path": "pw_presubmit/py/pw_presubmit/tools.py"
    },
    {
      "type": "modify",
      "old_id": "9499520b807ef10ab72de18cb6393c2eb1f8d839",
      "old_mode": 33188,
      "old_path": "pw_protobuf_compiler/py/pw_protobuf_compiler/python_protos.py",
      "new_id": "6dc72d36dc5935778d77b80d28871d4d02d98139",
      "new_mode": 33188,
      "new_path": "pw_protobuf_compiler/py/pw_protobuf_compiler/python_protos.py"
    },
    {
      "type": "modify",
      "old_id": "3c285bcdeb94c5822f582f60fc827f89e0987671",
      "old_mode": 33261,
      "old_path": "pw_watch/py/pw_watch/watch.py",
      "new_id": "287661f6dfc98d3287e28547829c240d9c48d89e",
      "new_mode": 33261,
      "new_path": "pw_watch/py/pw_watch/watch.py"
    }
  ]
}
