)]}'
{
  "commit": "2299445c913a801ae319df90af83978732dff268",
  "tree": "65f79d1f67600072824b72b92abea10c15a6f963",
  "parents": [
    "fa161fa85d49f8b054747078ae093aeb77fdf071"
  ],
  "author": {
    "name": "brandjon",
    "email": "brandjon@google.com",
    "time": "Tue Mar 26 13:37:31 2019 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Mar 26 13:40:39 2019 -0700"
  },
  "message": "Implement autodetecting Python toolchain\n\nThis replaces the stub default Python toolchain with one that actually locates the target platform\u0027s Python interpreter at runtime. Try it out with\n\n    bazel build //some_py_binary --experimental_use_python_toolchains\n\nand note that, unlike before (#4815), the correct Python interpreter gets invoked by default regardless of whether you specify `--python_version\u003dPY2` or `--python_version\u003dPY3`.\n\nThis toolchain is only intended as a last resort, if the user doesn\u0027t define and register a better toolchain (that satisfies the target platform constraints).\n\nWork toward #7375 and #4815. Follow-up work needed to add a test (#7843) and windows support (#7844).\n\nRELNOTES: None\nPiperOrigin-RevId: 240417315\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "224bcb478dafc2c95544ce78cf57ace6e9eb1569",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/packages/util/BazelMockPythonSupport.java",
      "new_id": "ae665ffc6871f1839fe34743645ad9fe978ee9b3",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/packages/util/BazelMockPythonSupport.java"
    },
    {
      "type": "modify",
      "old_id": "aadb0e42517f800f0a9ada8ed7ed275b0c323f4c",
      "old_mode": 33261,
      "old_path": "src/test/shell/bazel/python_version_test.sh",
      "new_id": "4712a6924a5fc665ca48f6e0887f40458e8cf6d7",
      "new_mode": 33261,
      "new_path": "src/test/shell/bazel/python_version_test.sh"
    },
    {
      "type": "modify",
      "old_id": "1efd7546452899bad0bfad36d75ff73f7e5b56c6",
      "old_mode": 33188,
      "old_path": "tools/python/BUILD.tools",
      "new_id": "35c789ba647e32ce0687316cb90843ebec5bc61b",
      "new_mode": 33188,
      "new_path": "tools/python/BUILD.tools"
    },
    {
      "type": "modify",
      "old_id": "8bb45b86c0dce46947f9e74956565379db54c43a",
      "old_mode": 33188,
      "old_path": "tools/python/python_version.bzl",
      "new_id": "aecad07e0223c9b6b40b889fcfa73369b56380f3",
      "new_mode": 33188,
      "new_path": "tools/python/python_version.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c2f5b1882cda9c6988efae99127b92fcabd2eef0",
      "new_mode": 33188,
      "new_path": "tools/python/pywrapper_template.txt"
    },
    {
      "type": "modify",
      "old_id": "3fe9475cb0520d9145401638659372c341b8a43f",
      "old_mode": 33188,
      "old_path": "tools/python/toolchain.bzl",
      "new_id": "656ab623ddbc13f5f357a4e38ab994db1799ac5c",
      "new_mode": 33188,
      "new_path": "tools/python/toolchain.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9278e32efc67fd16339976203afcccba3873c350",
      "new_mode": 33188,
      "new_path": "tools/python/utils.bzl"
    }
  ]
}
