)]}'
{
  "commit": "1b324c4b451492a5e55ac6af5bebea976bb27fe4",
  "tree": "5874297bc0091fd8ce40d7ea874ce92ed146d549",
  "parents": [
    "da6a7f23586fd3c63d4c998f5261b8899a4fdc45"
  ],
  "author": {
    "name": "brandjon",
    "email": "brandjon@google.com",
    "time": "Wed May 01 14:11:07 2019 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed May 01 14:12:36 2019 -0700"
  },
  "message": "Preserve file permissions when extracting runfiles zip\n\nIn Python rules, the Python stub script is responsible for extracting the runfiles from the zip file when --build_python_zip is used. However, there\u0027s a bug in the standard Python library (https://bugs.python.org/issue15795) that causes file permissions to be lost when extracting zips. This causes runfiles to not be marked executable, which is a problem when the py_runtime is an in-build runtime (issue #5104).\n\nThis change updates the stub script to workaround the bug by directly chmodding extracted files with their intended mode. It also adds a regression test combining a custom py_runtime with --build_python_zip.\n\nFixes #5104, unblocks #7375.\n\nRELNOTES: Fixed an issue where some `py_runtime`s were incompatible with using `--build_python_zip` (#5104).\nPiperOrigin-RevId: 246195931\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dac21c9a83817994fe9fb26a57425bc086686835",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt",
      "new_id": "a6c5110022f0f3692343fb4a5b07159067ec388a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt"
    },
    {
      "type": "modify",
      "old_id": "22c2e22ba82f7ba0df1ee2a5fb112c20af7426fa",
      "old_mode": 33261,
      "old_path": "src/test/shell/bazel/python_version_test.sh",
      "new_id": "e463f4d953157643fdcd30708c3ca1a78816b7b5",
      "new_mode": 33261,
      "new_path": "src/test/shell/bazel/python_version_test.sh"
    }
  ]
}
