)]}'
{
  "commit": "aee9704a654a6db0c4e3e19f17956c0ee6a1172e",
  "tree": "21235f51bb42b19fe81b99ed307fe6da4b4eff5a",
  "parents": [
    "b622c4ca710ca6cd394038c557662f36ca01b855"
  ],
  "author": {
    "name": "Adam Liddell",
    "email": "git@aliddell.com",
    "time": "Tue Oct 26 03:04:34 2021 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Oct 25 19:04:34 2021 -0700"
  },
  "message": "Add support for relative requirements in pip_install (#433)\n\n* Run pip within the directory containing the requirements.txt file\r\n\r\nThis allows for relative requirements to be resolved in the way\r\nthat standalone pip would without patching or parsing the\r\nrequirements file manually\r\n\r\n* Print test errors of sub-workspaces in bazel_integration_test\r\n\r\nPrior to this, errors would be written to logs in the temp\r\ndirectory that would promptly be deleted on parent test\r\nteardown. This means at least the test logs will be printed\r\non failure\r\n\r\n* Add example of relative requirement as test\r\n\r\n* Explicitly cast Path to str to support Python 3.5\r\n\r\n* Fix multiple declarations of pip_args\r\n\r\n* Apply buildifier fix\r\n\r\nCo-authored-by: Alex Eagle \u003ceagle@post.harvard.edu\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6aee0a663d19cbdf34c72006982dfdb3ee7cf2c4",
      "old_mode": 33188,
      "old_path": ".bazelrc",
      "new_id": "b7f29abebddbc5a84dab573e6fa02cc723f250eb",
      "new_mode": 33188,
      "new_path": ".bazelrc"
    },
    {
      "type": "modify",
      "old_id": "e263c07368cbd419ad3d1739edb4f30269230ad0",
      "old_mode": 33188,
      "old_path": "examples/BUILD",
      "new_id": "826f87c0753a28f1dda796223b5a4c92a1ca7742",
      "new_mode": 33188,
      "new_path": "examples/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d24ee5f72b21f65e5f34f66d885b0ca93d7873ed",
      "new_mode": 33188,
      "new_path": "examples/relative_requirements/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4b9258e3701bbc6f2d632ad3911fc704d1805e4d",
      "new_mode": 33188,
      "new_path": "examples/relative_requirements/README.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "505fa9ebc883655fbfda57e8cbe596974fd052f1",
      "new_mode": 33188,
      "new_path": "examples/relative_requirements/WORKSPACE"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b8ac021e9011df6ca9313580632757e7c2943916",
      "new_mode": 33188,
      "new_path": "examples/relative_requirements/main.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c0311929075c1b17d58c3a855e7ee629a25ad2da",
      "new_mode": 33188,
      "new_path": "examples/relative_requirements/relative_package/relative_package_name/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3fd85c12ae5a047274b0f5146700e0486f989976",
      "new_mode": 33188,
      "new_path": "examples/relative_requirements/relative_package/setup.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9a81317e1e306dafd2e1177230878343157f7b4f",
      "new_mode": 33188,
      "new_path": "examples/relative_requirements/requirements.txt"
    },
    {
      "type": "modify",
      "old_id": "214be9a764c6c6d3de8af7ced49ae2ac59ebe065",
      "old_mode": 33188,
      "old_path": "python/pip_install/extract_wheels/__init__.py",
      "new_id": "5fdf9eae756f5260d458aeee349f19c9fe987fa4",
      "new_mode": 33188,
      "new_path": "python/pip_install/extract_wheels/__init__.py"
    }
  ]
}
