)]}'
{
  "commit": "bdaa10128c873034dfcbe26874b497e1b4405cbe",
  "tree": "b76f15a8e13734d916676a1a43e31f5295dcbed1",
  "parents": [
    "ff028f2fb402f0dbdcc2b4e80192c032f827065e"
  ],
  "author": {
    "name": "Mikita Belahlazau",
    "email": "nbeloglazov@google.com",
    "time": "Wed Aug 26 13:04:04 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Aug 26 13:34:01 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: 971453888\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"
    }
  ]
}
