)]}'
{
  "commit": "b4895ab8ae5a321e8bbb76dc6f4629075aa3c21d",
  "tree": "1c378507dc27f7a33dcc602ee0012bfaad4720de",
  "parents": [
    "44e7650860ee1d849af1ec2de0cc49a1b4bc8bf5"
  ],
  "author": {
    "name": "Brandon Chinn",
    "email": "brandonchinn178@gmail.com",
    "time": "Mon Jun 16 06:54:12 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Jun 16 09:54:12 2025 -0400"
  },
  "message": "Fix output bin_dir directory shadowing source directory (#91)\n\nFixes #88\n\nIn the test case added in this PR, the sandbox contains the following:\n```\nsandbox/.../execroot/_main/\n|-- bazel-out/darwin_arm64-fastbuild/bin/\n    |-- nested/\n        |-- nested.mypy_cache/\n|-- nested/\n    |-- __init__.py\n```\nThe `bazel-out/darwin_arm64-fastbuild/bin/` directory is added to\nMYPYPATH as part of `generated_dirs` and is necessary in certain\nsituations, but here, mypy finds the `nested/` directory in `bazel-out/`\ninstead of the one in the current directory, because mypy searches\nMYPYPATH before CWD.\n\nIn this PR, we explicitly add CWD first to ensure we look at source\nfiles before generated files",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1b979f32da2e77bb1b811a9e30cbfba9bbafb79e",
      "new_mode": 33188,
      "new_path": "examples/demo/absolute_paths/bin/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c9160568dc8a6a84b9a25f4f42162ba860a985d0",
      "new_mode": 33188,
      "new_path": "examples/demo/absolute_paths/bin/main.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b8fdf3a017e13e8ae33e35859c4cd3de9438f357",
      "new_mode": 33188,
      "new_path": "examples/demo/absolute_paths/gen/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f977746b0bf7a2a63658a1f4dfed2d52a69cafff",
      "new_mode": 33188,
      "new_path": "examples/demo/absolute_paths/lib/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "100bc636d48a055a74f2fad190bd3633dd090e1a",
      "new_mode": 33188,
      "new_path": "examples/demo/absolute_paths/lib/foo.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ff58f15770492f350dc435a8af54a3c8d089f20c",
      "new_mode": 33188,
      "new_path": "examples/demo/absolute_paths/nested/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a850e00f6421507b84ad9001aa73929d4b900b4b",
      "new_mode": 33188,
      "new_path": "examples/demo/absolute_paths/nested/__init__.py"
    },
    {
      "type": "modify",
      "old_id": "0c4dffcbe95e2d469cbe3d7ba5905db1bf9eed96",
      "old_mode": 33188,
      "old_path": "mypy/private/mypy.bzl",
      "new_id": "7fea3be66410e39500e114127c44e0efb689ac4c",
      "new_mode": 33188,
      "new_path": "mypy/private/mypy.bzl"
    }
  ]
}
