)]}'
{
  "commit": "58a97a4b573a278d8378e93c9afa1e876b22bf35",
  "tree": "70c1a23eabe7cb364d86115b52848a4680734fd8",
  "parents": [
    "fe7b64e93457b45eaaddb1ca1fdb9c6353530beb"
  ],
  "author": {
    "name": "Tony Liao",
    "email": "tonyliaoss@google.com",
    "time": "Thu Aug 01 15:37:55 2024 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Aug 01 15:41:52 2024 -0700"
  },
  "message": "Add tests for string APIs for implicit presence fields.\n\nBy \"string APIs\", I mean the following APIs:\n- mutable_foo\n- set_allocated_foo\n- release_foo\nSee also: https://protobuf.dev/reference/cpp/cpp-generated/#implicit-string\n\nAdd the following test cases (for singular implicit-presence fields):\n- A single call to mutable_foo() should not result in additional serialization\n  on the wire.\n- Assigning an empty string to mutable_foo() should not result in additional\n  serialization on the wire.\n- Calling set_allocated_foo() with an empty string should not result in\n  additional serialization on the wire.\n- If a field is nonempty, release_foo() effectively clears the field (while\n  returning a pointer to the original data).\n\nAdding coverage for these behaviours can increase confidence when we introduce\ninternal hasbits to help with presence tracking for implicit presence fields.\nmutable_foo will in general set the hasbit, so the generated code will need to\ncheck that field is nonempty before serializing.\n\nPiperOrigin-RevId: 658562530\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "82a2dc6ea68d20f83e9696564065fa7ff4fdb60d",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/BUILD.bazel",
      "new_id": "a161315ecb883b1a404fe005e122de55b45818ae",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "a5192ca5028a91a525272a30b5cb2ad10143973c",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/no_field_presence_test.cc",
      "new_id": "cd556703568fa7db2c01bbd8f286ecb298221a57",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/no_field_presence_test.cc"
    }
  ]
}
