)]}'
{
  "commit": "04e2f32be4b2ada889c6483ddcd458790968e1ef",
  "tree": "ee08668720b550af5818c153f15cf777edd06e0f",
  "parents": [
    "bdcf53a7a0a09d3b73ff4b0096523799f10bd341"
  ],
  "author": {
    "name": "Alex Torok",
    "email": "alext9@gmail.com",
    "time": "Wed Aug 21 10:56:54 2024 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Aug 21 14:56:54 2024 +0000"
  },
  "message": "feat(gazelle): Update resolve.go to provide more human-friendly error output (#2120)\n\nUpdate the Resolver error messages in resolve.go to be easier to read.\n\nWhile enabling gazelle in an existing repo, I found it somewhat\ndifficult to skim the error messages. This PR:\n1. Adds a bit of whitespace to spread different pieces of information\nout\n2. Provides an additional remediation action for ambiguous import\nresolution\n3. Moves the filename and line number where the error is to the front of\nthe line.\n4. Provides more concrete \"gazelle:resolve py\" directive examples for\neach errored dep resolution.\n\nAdditionally, update a testcase to showcase the ambiguous import\nresolution error case. See the `test.yaml` file diff for an example of\nthe old vs new error output.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "91554c498451f46c049725ff70482461e511aacf",
      "old_mode": 33188,
      "old_path": "CHANGELOG.md",
      "new_id": "f703269884b4b28dc79e5e727feec4f15893af7c",
      "new_mode": 33188,
      "new_path": "CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "ca306c3db8854ea8f19c1bd37817d976227362ce",
      "old_mode": 33188,
      "old_path": "gazelle/python/resolve.go",
      "new_id": "a7b716a8298c25ab34c2be2eeee0dd6c247316fe",
      "new_mode": 33188,
      "new_path": "gazelle/python/resolve.go"
    },
    {
      "type": "modify",
      "old_id": "dc6fb8519e75e49ddbae051a0bfd50e78c78f510",
      "old_mode": 33188,
      "old_path": "gazelle/python/testdata/invalid_imported_module/__init__.py",
      "new_id": "40b584878834e541989d58923f74f746ecb050b1",
      "new_mode": 33188,
      "new_path": "gazelle/python/testdata/invalid_imported_module/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4f598e905c33e1a1faa7b3374549038de78fc126",
      "new_mode": 33188,
      "new_path": "gazelle/python/testdata/invalid_imported_module/foo/BUILD.in"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "gazelle/python/testdata/invalid_imported_module/foo/bar.py"
    },
    {
      "type": "modify",
      "old_id": "6bcea39d2ea12ed537a6c4821af5ae16c527ff1e",
      "old_mode": 33188,
      "old_path": "gazelle/python/testdata/invalid_imported_module/test.yaml",
      "new_id": "0085523dbdfe60300094fcb36f2dc57776432151",
      "new_mode": 33188,
      "new_path": "gazelle/python/testdata/invalid_imported_module/test.yaml"
    }
  ]
}
