)]}'
{
  "commit": "9a0059ff0e5824ef5845a60c20ce3617dd540d03",
  "tree": "7f0ba9a9182a49ab6d8267092a5a1919ac4a8cbd",
  "parents": [
    "6836552e2573b833f3375b1a781625897688d1c2"
  ],
  "author": {
    "name": "Mikita Belahlazau",
    "email": "nbeloglazov@google.com",
    "time": "Mon Aug 03 16:03:01 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Aug 25 12:06:41 2026 -0700"
  },
  "message": "Use negative UninterpretedOption field tags for interpreted option locations.\n\nThis allows us to extend improved SourceCodeInfo support to dot-notation options without breaking backwards compatibility. Dot-notation options like `(my_opt).a \u003d 123` already emit SourceCodeInfo location in a form of `[..., 10101, 1]` where 1 is the tag of field `a`. That location spans the whole option. But these pre-existing locations are limited as they don\u0027t provide granular information about each part of the option (e.g. location of `a`) and don\u0027t provide location for value too.\n\nUsing negative values allows us to create non-overlapping set of locations. For example in the example above we will emit (in future CL):\n\n[..., 10101] - location of the whole `(my_opt).a \u003d 123` option\n[..., 10101, 1] - legacy duplicate location of the whole `(my_opt).a \u003d 123` option\n[..., 10101, -2] - location of `(my_opt)` part\n[..., 10101, -8, 1, -2] - location of `a` part\n[..., 10101, -8, 1, -4] - location of `123` part\n\nPiperOrigin-RevId: 958626527\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9d10c038ebaad0d6e32b37f860f8725b8b45aff4",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/descriptor.proto",
      "new_id": "07b47b852ae4152f781bf2373fec0312e4deb059",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/descriptor.proto"
    },
    {
      "type": "modify",
      "old_id": "9fb5b02cd4780cd33f3c23cc788d47c0ae046dea",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/option_interpreter.cc",
      "new_id": "e2cf59f645d72753ae617eae3fd1ba28bce7ad1b",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/option_interpreter.cc"
    }
  ]
}
