)]}'
{
  "commit": "5ca84008fcc400276124b14a08a8c32e9b37b2bd",
  "tree": "f97c6ba7bd485e825c772edcc68d3e6ac6bafe3b",
  "parents": [
    "e6f8b9d1026996f6463d4f014d7760256b757227"
  ],
  "author": {
    "name": "Adam Cozzette",
    "email": "acozzette@google.com",
    "time": "Wed Nov 08 15:36:33 2023 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Nov 08 15:43:35 2023 -0800"
  },
  "message": "Move utf8_range into the protobuf repo\n\nThis makes third_party/utf8_range no longer a Git subtree, but instead the\npermanent location and source of truth for utf8_range. It is also now\nincorporated into the @com_google_protobuf Bazel repo. Utf8_range still has its\nown separate CMake build for now, though.\n\nPiperOrigin-RevId: 580682733\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "58ffdc191629fd193725306491d351860d38afcc",
      "old_mode": 33188,
      "old_path": ".github/workflows/test_cpp.yml",
      "new_id": "0aef03db08ceded8f31132545bc2ec3d74161b45",
      "new_mode": 33188,
      "new_path": ".github/workflows/test_cpp.yml"
    },
    {
      "type": "modify",
      "old_id": "4dd69d25d245de97e7710d4c05ff2cb47505fb5c",
      "old_mode": 33188,
      "old_path": "WORKSPACE",
      "new_id": "cc112294a9941f65ec8e4d21bd469ab63dba2afc",
      "new_mode": 33188,
      "new_path": "WORKSPACE"
    },
    {
      "type": "modify",
      "old_id": "345d1ab9b1b94b485b47210ca001cfe25086f07a",
      "old_mode": 33188,
      "old_path": "php/BUILD.bazel",
      "new_id": "5518e564bde631b16ab2f8be0d75e468a5c202fd",
      "new_mode": 33188,
      "new_path": "php/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "9fc2c414e6e3653cecf5d0c80509e67e5dd80d97",
      "old_mode": 33188,
      "old_path": "pkg/cc_dist_library.bzl",
      "new_id": "5252c9bedfd31c5bdeea8c4a9721f4c9646007eb",
      "new_mode": 33188,
      "new_path": "pkg/cc_dist_library.bzl"
    },
    {
      "type": "modify",
      "old_id": "ed0d73bbbc1ab568c2a6753ee8102241675971ca",
      "old_mode": 33188,
      "old_path": "protobuf_deps.bzl",
      "new_id": "6e3f5b051ac4c301889c213c345191b6eabfb7c9",
      "new_mode": 33188,
      "new_path": "protobuf_deps.bzl"
    },
    {
      "type": "modify",
      "old_id": "ea1dac3160444dab24b606f3b9a7980004e244ca",
      "old_mode": 33188,
      "old_path": "python/BUILD.bazel",
      "new_id": "f604badcf6080154a024eeb84066da75d8d93640",
      "new_mode": 33188,
      "new_path": "python/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "e23db840c285408aaeab516f00aaa04a1c11125d",
      "old_mode": 33188,
      "old_path": "python/dist/BUILD.bazel",
      "new_id": "34f32452bb4210c38846048ea537a7e126aaf527",
      "new_mode": 33188,
      "new_path": "python/dist/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "cc4b477eedb6ce7035afe05c372355400f04895c",
      "old_mode": 33261,
      "old_path": "ruby/BUILD.bazel",
      "new_id": "cfc96ebba8a9bda9f42473826b01b85d96adb515",
      "new_mode": 33261,
      "new_path": "ruby/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "85a52dcf845aeead5e4125f4250f5c141247ef79",
      "old_mode": 33188,
      "old_path": "ruby/Rakefile",
      "new_id": "860bbc35feb3382147b0dd1133e0b05e3310afcc",
      "new_mode": 33188,
      "new_path": "ruby/Rakefile"
    },
    {
      "type": "modify",
      "old_id": "755a249ce12ffde235af823b47096c74c4ec7c9c",
      "old_mode": 33188,
      "old_path": "ruby/ext/google/protobuf_c/BUILD.bazel",
      "new_id": "391edaa65a3ec658b39fe820f125ae197288b08f",
      "new_mode": 33188,
      "new_path": "ruby/ext/google/protobuf_c/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "3bb21ad0abe7a4269a007b6db6f8ca6ca8f0751d",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/BUILD.bazel",
      "new_id": "682992e56abe6a542936f7e802115b49a9fd15bf",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "f45c4fab2b292bb2b74d872d8e1056cd06a90f3a",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/json/BUILD.bazel",
      "new_id": "ccc369b2b9c8287af6075dc75d4c1a8e05056704",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/json/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "1e2992fc256b6f7ed37067a9d9569ccff82b82e1",
      "old_mode": 33188,
      "old_path": "third_party/utf8_range/BUILD.bazel",
      "new_id": "439faaa2564e56984efa49a2067ecb9ea92f9898",
      "new_mode": 33188,
      "new_path": "third_party/utf8_range/BUILD.bazel"
    },
    {
      "type": "delete",
      "old_id": "3e5b62eebfe6b30389c6853176fbbd7ef83fcb8a",
      "old_mode": 33188,
      "old_path": "third_party/utf8_range/CONTRIBUTING.md",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "84634cb7e2ec2d23291e526b10082365221a9565",
      "old_mode": 33188,
      "old_path": "third_party/utf8_range/WORKSPACE",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "742be2ee74957d34f9efba7bf81870b7f95657be",
      "old_mode": 33188,
      "old_path": "third_party/utf8_range/fuzz/BUILD.bazel",
      "new_id": "43e153eb871221d4937c2b8e101be0f1d9f7dd99",
      "new_mode": 33188,
      "new_path": "third_party/utf8_range/fuzz/BUILD.bazel"
    },
    {
      "type": "rename",
      "old_id": "aa13acf66a1f3da35cd420c9701194b600e7c024",
      "old_mode": 33188,
      "old_path": "third_party/utf8_range/.bazelrc",
      "new_id": "aa13acf66a1f3da35cd420c9701194b600e7c024",
      "new_mode": 33188,
      "new_path": "third_party/utf8_range/github/.bazelrc",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "97ade8dbd961943927a30d3811606127d10f72e2",
      "old_mode": 33188,
      "old_path": "third_party/utf8_range/.github/workflows/bazel_tests.yml",
      "new_id": "97ade8dbd961943927a30d3811606127d10f72e2",
      "new_mode": 33188,
      "new_path": "third_party/utf8_range/github/.github/workflows/bazel_tests.yml",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "1a0b3abf3eef991890625e2a69004951164f3f15",
      "old_mode": 33188,
      "old_path": "third_party/utf8_range/.github/workflows/cmake_tests.yml",
      "new_id": "1a0b3abf3eef991890625e2a69004951164f3f15",
      "new_mode": 33188,
      "new_path": "third_party/utf8_range/github/.github/workflows/cmake_tests.yml",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "229542d23ce923bfb89a39775b81f98e3b7afd1c",
      "old_mode": 33188,
      "old_path": "third_party/utf8_range/.gitignore",
      "new_id": "229542d23ce923bfb89a39775b81f98e3b7afd1c",
      "new_mode": 33188,
      "new_path": "third_party/utf8_range/github/.gitignore",
      "score": 100
    },
    {
      "type": "delete",
      "old_id": "b522abb73f3a73dc1d632068682ef03ca25590e3",
      "old_mode": 33188,
      "old_path": "third_party/utf8_range/rules_fuzzing.patch",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "2648df674b257729e9d0f83a10e75ed9fee021d6",
      "old_mode": 33188,
      "old_path": "third_party/utf8_range/utf8_validity_test.cc",
      "new_id": "9a76f67285a2a20828b612e86cacf8dd3c2f7b36",
      "new_mode": 33188,
      "new_path": "third_party/utf8_range/utf8_validity_test.cc"
    },
    {
      "type": "delete",
      "old_id": "d296f9ff5179d35d575ed695444ea286c4d700be",
      "old_mode": 33188,
      "old_path": "third_party/utf8_range/workspace_deps.bzl",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "ff5d6defc704033ba51cec74dd77698dab5ba96d",
      "old_mode": 33188,
      "old_path": "upb/BUILD",
      "new_id": "d427f0ffbc24f0f77002a84f3a6cd7a85d90d2e3",
      "new_mode": 33188,
      "new_path": "upb/BUILD"
    },
    {
      "type": "modify",
      "old_id": "3e40380e8bfbefc51c45c75e33d1458a5c72899c",
      "old_mode": 33188,
      "old_path": "upb/cmake/BUILD.bazel",
      "new_id": "373f33fb66493bb3fd392170917f5a4b34f4b20c",
      "new_mode": 33188,
      "new_path": "upb/cmake/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "d1a6bb2ee5a85ff8d4d3fbc7ef3397699817b294",
      "old_mode": 33261,
      "old_path": "upb/cmake/make_cmakelists.py",
      "new_id": "bd959178f45600d2b05a8ff37c7e77a93ffdbdb3",
      "new_mode": 33261,
      "new_path": "upb/cmake/make_cmakelists.py"
    },
    {
      "type": "modify",
      "old_id": "20b421a3fccba603998c6b597f28bac5524ade80",
      "old_mode": 33188,
      "old_path": "upb/wire/BUILD",
      "new_id": "6115b868fb07e93d75005d4ea9dcbff0fe55ba99",
      "new_mode": 33188,
      "new_path": "upb/wire/BUILD"
    },
    {
      "type": "delete",
      "old_id": "fee33f584f1753a87d92b0f7138ba437d92a03ab",
      "old_mode": 33261,
      "old_path": "update_subtrees.sh",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    }
  ]
}
