)]}'
{
  "commit": "e63837c33b038f06393c2df1ff7bdc9754eb0c8b",
  "tree": "3d2cf654b1aad1f58f63774175a3244f4552180d",
  "parents": [
    "1a2bed3d7cd1cdf517ce899081140aabe5d59937"
  ],
  "author": {
    "name": "Mike Kruskal",
    "email": "mkruskal@google.com",
    "time": "Fri Oct 23 00:28:01 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Fri Nov 06 16:07:44 2026 -0800"
  },
  "message": "Identify PB_TEST_CHOOSE_VALUE dimensions by call site instead of __COUNTER__.\n\nA fixture or PB_TEST_FIXTURE_BASE class defined in a header and included across\nmultiple translation units previously expanded __COUNTER__ inside\nPB_TEST_CHOOSE_VALUE, violating the ODR when preceding __COUNTER__ offsets\ndiffered and registering duplicate value dimensions whose values did not match\ntheir generated test names.\n\nPB_TEST_CHOOSE_VALUE no longer uses __COUNTER__ and instead identifies each\nvalue dimension by its lexical call site (owning class, file, line, and\nargument text), deduplicating registrations across translation units and\ntemplate instantiations. Dimensions are ordered with PB_TEST_FIXTURE_BASE\nclasses first (outermost base first), then the fixture, and then the test body,\nwith PB_TEST_CHOOSE_TYPE and PB_TEST_CHOOSE_CONSTEXPR carrying their line\nnumber for consistent intra-body lexical ordering.\n\nPiperOrigin-RevId: 1005370601\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e8c8f5ea895bb351d307cb042f9f39d2ab0b8892",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/testing/BUILD.bazel",
      "new_id": "b904260d5778b62e131e7ccb2d39731b8cab3cb3",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/testing/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "cf807b5227599be9417c90d54f62af4d8faf5adb",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/testing/protobuf_test.cc",
      "new_id": "3db5efde8fdb2fd82abb305742c4a41c93af9fc3",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/testing/protobuf_test.cc"
    },
    {
      "type": "modify",
      "old_id": "0ef7bbad0c53fbbf60d0a3636201ea266b12b60f",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/testing/protobuf_test.h",
      "new_id": "3923023012bfcf5c122e3ead60101429aa8ca724",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/testing/protobuf_test.h"
    },
    {
      "type": "modify",
      "old_id": "9b54e86c346e22d3ec18b4fbd03ae89e5f3c1142",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/testing/protobuf_test.md",
      "new_id": "472347b3ca56f5082c9012f0fe8cd6bfc90bf12b",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/testing/protobuf_test.md"
    },
    {
      "type": "modify",
      "old_id": "03cda37419c0cb1ec3ee5acf0b941867889a8703",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/testing/protobuf_test_test.cc",
      "new_id": "713ce641a20663d463a13c7be9177d7f0a6f42ce",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/testing/protobuf_test_test.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "820fe003b6aeb505a14da4ef94b525358d4552c9",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/testing/protobuf_test_test_fixture.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6c9536a1c57ee787c592a87f7be2b1b828b82df8",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/testing/protobuf_test_test_tu2.cc"
    }
  ]
}
