)]}'
{
  "commit": "550f9b021bd3a4aa13e31b3b59305cfb0e067735",
  "tree": "6c4ef2e232d84dd24a71e534a37169373c89d58f",
  "parents": [
    "0ea9f73be35e35db242ccc65aa9c87487b792324"
  ],
  "author": {
    "name": "Adam Cozzette",
    "email": "acozzette@google.com",
    "time": "Tue Jun 13 16:07:58 2023 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Jun 13 16:08:36 2023 -0700"
  },
  "message": "Fix handling of public imports in upb `protos` generator\n\nI recently ran into an issue with public imports and the `protos` generator.\nThe includes of fwd.h files are currently generated based on where the message\nor extension is defined, but when public imports are involved, this fwd.h\nheader might not be in the direct dependencies. When the `#include` points to a\ntransitive dependency then this can result in a layering violation.\n\nThis CL fixes the problem by generating fwd.h includes for all direct\ndependencies, and making sure the fwd.h files themselves contain `#include`\nlines to export their public dependencies.\n\nPiperOrigin-RevId: 540102455\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0355b786c4520c4f3c16944d4554760de2646f9b",
      "old_mode": 33188,
      "old_path": "protos_generator/protoc-gen-upb-protos.cc",
      "new_id": "48e69ab3c11751e25ac6490e08baca6deaa97c89",
      "new_mode": 33188,
      "new_path": "protos_generator/protoc-gen-upb-protos.cc"
    }
  ]
}
