)]}'
{
  "commit": "3b8611b60b77ddfba3c9669d734f6aefef3115c7",
  "tree": "8109c4fd77277134e340936ee9ad566fd773daa9",
  "parents": [
    "ca837e5c658b9402e7f21e587cb4eaa18ad7bc30"
  ],
  "author": {
    "name": "Josh Humphries",
    "email": "jhumphries@buf.build",
    "time": "Wed May 29 09:43:14 2024 -0400"
  },
  "committer": {
    "name": "Michael Stapelberg",
    "email": "stapelberg@google.com",
    "time": "Thu Jun 06 08:04:46 2024 +0000"
  },
  "message": "reflect/protoreflect: FieldDescriptor.Kind should never be GroupKind for maps or fields of map entry\n\nResolves golang/protobuf#1615\n\nThe protoc compiler disallows setting the message encoding feature of\nmap fields to delimited since maps, at least for now (as of edition\n2023) should always use normal length-prefixed encoding.\n\nBut the field (and a message value field inside the map entry) could\ninherit such a feature value if it were set as a file-wide default. At\nthe point where the code changes the kind from message to group, based\non the field\u0027s resolved features, the message type hasn\u0027t yet been\nresolved.  So this change adds a check after the FieldDescriptor\u0027s\nmessage type is resolved, to change the kind back from group to\nmessage if the field is a map field or a field in a map entry message.\n\nChange-Id: I785269a4ecd80d1a17866c08b2afc0b01440e0e3\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/588976\nReviewed-by: Michael Knyszek \u003cmknyszek@google.com\u003e\nLUCI-TryBot-Result: Go LUCI \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Cassondra Foesch \u003ccfoesch@gmail.com\u003e\nReviewed-by: Mike Kruskal \u003cmkruskal@google.com\u003e\nReviewed-by: Michael Stapelberg \u003cstapelberg@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "19956bbf29794c0f24069c283076bf9df13b51fe",
      "new_mode": 33188,
      "new_path": "cmd/protoc-gen-go/testdata/protoeditions/maps_and_delimited.pb.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "536cbb7eda7db8a6b0e253cfd5d6dc646a98d1eb",
      "new_mode": 33188,
      "new_path": "cmd/protoc-gen-go/testdata/protoeditions/maps_and_delimited.proto"
    },
    {
      "type": "modify",
      "old_id": "ece53bea328888588c12d8bf82088563ce1f34ec",
      "old_mode": 33188,
      "old_path": "internal/filedesc/desc.go",
      "new_id": "df53ff40b25aefecb71c673ac1e45d556eef82dc",
      "new_mode": 33188,
      "new_path": "internal/filedesc/desc.go"
    },
    {
      "type": "modify",
      "old_id": "570181eb4874a7d9a01cdc7b13ef28bd69aa580b",
      "old_mode": 33188,
      "old_path": "internal/filedesc/desc_lazy.go",
      "new_id": "e56c91a8dbe0d9b331ac196159ad632e6db8c580",
      "new_mode": 33188,
      "new_path": "internal/filedesc/desc_lazy.go"
    },
    {
      "type": "modify",
      "old_id": "182bf780fec4ca59978e12a0e00724cc3f17e872",
      "old_mode": 33188,
      "old_path": "internal/filedesc/desc_test.go",
      "new_id": "3ce85883e62fa4f1cb71af3b86353e26190dbd9d",
      "new_mode": 33188,
      "new_path": "internal/filedesc/desc_test.go"
    },
    {
      "type": "modify",
      "old_id": "254ca5854245165f483534b4bddec04c0fe2d91e",
      "old_mode": 33188,
      "old_path": "reflect/protodesc/desc_resolve.go",
      "new_id": "f3cebab29c8a7040f4fd74c12457750d3900183e",
      "new_mode": 33188,
      "new_path": "reflect/protodesc/desc_resolve.go"
    }
  ]
}
