)]}'
{
  "commit": "9e89b6e70a4988a4b473a19a7647154bd07583ce",
  "tree": "583d151dc1bf9bc7ec2c037cd13661399ac2f2af",
  "parents": [
    "3ee24bca497fc44eb39b64781ae7d433a327aeb3"
  ],
  "author": {
    "name": "Sydney Acksman",
    "email": "ObsidianMinor@users.noreply.github.com",
    "time": "Fri May 03 15:54:41 2019 -0500"
  },
  "committer": {
    "name": "Jie Luo",
    "email": "jieluo@google.com",
    "time": "Fri May 03 13:54:41 2019 -0700"
  },
  "message": "C# Proto2 feature : Extensions (#5350)\n\n* Compiler changes (extensions)\r\n\r\n* Generated changes (extensions)\r\n\r\n* Library changes (extensions)\r\n\r\n* Adjusted a summary to indicate ContainingType can be null for extensions\r\n\r\n* Compiler changes (custom option review + access level review)\r\n\r\n* Generated code changes (custom options + access review)\r\n\r\n* Library changes (custom options + access review)\r\n\r\n* Support C# 6 with library changes\r\n\r\n* Access HasValue by property\r\n\r\n* Set access level of all extension classes to internal (revert in next PR)\r\n\r\n* Added null checks to custom options\r\n\r\n* Rebase on master and regenerate Conformance\r\n\r\n* Removed second dictionary from ExtensionSet\r\n\r\n* Rebased compiler changes\r\n\r\n* Rebased generated code changes\r\n\r\n* Rebased library changes + review changes\r\n\r\n* Add more safety checks to extension accessors\r\n\r\n* Remove instances where extension sets were unnecessarily allocated\r\n\r\n* Remove cleared items from sets\r\nEmpty sets are now made null\r\nIExtensionMessage -\u003e IExtendableMessage\r\n\r\n* Remove dead code from IExtensionValue impls\r\n\r\n* Clean both repeated and single value extensions\r\n\r\n* Add GetOrRegister method for repeated fields and allow clearing repeated extensions\r\n\r\n* Add type safe ClearExtension methods, remove non-generic IExtendableMessage interface.\r\n\r\n* Simplify ExtensionSet.TryMergeFieldFrom\r\n\r\n* Rebase on master to resolve conflicts\r\n\r\n* Fix Makefile.am\r\n\r\n* Add ObjectIntPair to Makefile.am\r\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "903eca7c016357f4b75e3f766a37d45f731af533",
      "old_mode": 33188,
      "old_path": "Makefile.am",
      "new_id": "f87e74d0ac5c16259117380de45843af4701b709",
      "new_mode": 33188,
      "new_path": "Makefile.am"
    },
    {
      "type": "modify",
      "old_id": "d3e1ea95344feb9533025dd1c709c34a4766334f",
      "old_mode": 33188,
      "old_path": "csharp/src/AddressBook/Addressbook.cs",
      "new_id": "cbd977269620b022955141437169691d384bfc1f",
      "new_mode": 33188,
      "new_path": "csharp/src/AddressBook/Addressbook.cs"
    },
    {
      "type": "modify",
      "old_id": "c0c6d666d90ece98e1ee77c4cff2166c94da6b8f",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf.Benchmarks/BenchmarkMessage1Proto3.cs",
      "new_id": "9e8c330a2b630d21d7c4af91ee5b64f54fced42e",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf.Benchmarks/BenchmarkMessage1Proto3.cs"
    },
    {
      "type": "modify",
      "old_id": "d2af7eefa6bc307bf2762aae4922bad127f9a178",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf.Benchmarks/Benchmarks.cs",
      "new_id": "01dfcd72dc6f8203988a5e3cfb1bd78827601e91",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf.Benchmarks/Benchmarks.cs"
    },
    {
      "type": "modify",
      "old_id": "589ea7606e342b063689d559cff3a2d88c893b98",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf.Conformance/Conformance.cs",
      "new_id": "65ba9b1265ad812a2d4f275434b63f87ac08d5ea",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf.Conformance/Conformance.cs"
    },
    {
      "type": "modify",
      "old_id": "68b4d6af7cf8b70dc124cd37ee2d664dcb000ceb",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf.Test/Reflection/CustomOptionsTest.cs",
      "new_id": "ff4e9a7ffd05c405824dab0123329b6b1149358e",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf.Test/Reflection/CustomOptionsTest.cs"
    },
    {
      "type": "modify",
      "old_id": "6d3cd026d112a0a2022955fd3e9e12f01a817499",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf.Test/TestProtos/MapUnittestProto3.cs",
      "new_id": "197b197d0ea4a3f8d88481f1866d19531910440f",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf.Test/TestProtos/MapUnittestProto3.cs"
    },
    {
      "type": "modify",
      "old_id": "824da8feb68b2b71f99965780c23d82602c822ac",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf.Test/TestProtos/TestMessagesProto3.cs",
      "new_id": "822ff268135072b2f51f9782b22a04306c19e9b8",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf.Test/TestProtos/TestMessagesProto3.cs"
    },
    {
      "type": "modify",
      "old_id": "2a9efe55fff11f42711d808aac5110d264192f75",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf.Test/TestProtos/UnittestCustomOptionsProto3.cs",
      "new_id": "6b19b5cce3629a9585d778171fbff40c7b34252c",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf.Test/TestProtos/UnittestCustomOptionsProto3.cs"
    },
    {
      "type": "modify",
      "old_id": "6bf97151715e62bf92e8ad0857160cc8a116d539",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf.Test/TestProtos/UnittestImportProto3.cs",
      "new_id": "19a1a34634f9fce26767866e053ace55d67f7924",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf.Test/TestProtos/UnittestImportProto3.cs"
    },
    {
      "type": "modify",
      "old_id": "97d181aff48ca61a1fae04a27144a915a4d98a3d",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf.Test/TestProtos/UnittestImportPublicProto3.cs",
      "new_id": "a45565546989a2b0b68f3df70176aa6bb5e8772e",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf.Test/TestProtos/UnittestImportPublicProto3.cs"
    },
    {
      "type": "modify",
      "old_id": "f27ab6407497def967f04650c6261432f001ccf8",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf.Test/TestProtos/UnittestIssues.cs",
      "new_id": "f3f40c6a70cffc8c2d4b4a86c186b7a9b00b10b6",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf.Test/TestProtos/UnittestIssues.cs"
    },
    {
      "type": "modify",
      "old_id": "bbbee22c7b6a05709838e6fd412e0e07c292b967",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf.Test/TestProtos/UnittestProto3.cs",
      "new_id": "2f489ad7430aba5c0a7f83abb5e8aa2a4673aa6c",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf.Test/TestProtos/UnittestProto3.cs"
    },
    {
      "type": "modify",
      "old_id": "45f8ece64695fed24409fe3fa1b9cd09ede5873f",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf.Test/TestProtos/UnittestWellKnownTypes.cs",
      "new_id": "90b338436bc9761e80eb52b0f114953c71257deb",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf.Test/TestProtos/UnittestWellKnownTypes.cs"
    },
    {
      "type": "modify",
      "old_id": "34e37300d6bf2050062de246e9e4e752350fc961",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/CodedInputStream.cs",
      "new_id": "4d13f88ab95de8cb3809e72edd019f0f1605208d",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/CodedInputStream.cs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ddeb97795aae5688d554d39b332b72d4e6a039b0",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/Extension.cs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ea655c123e2cdba11246788973448dfd1ccfba37",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/ExtensionRegistry.cs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fa81e6a633a0ec6b6218a356b1eb6bd38f20c001",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/ExtensionSet.cs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "181e88264c5932dc8ccaa243fdcd767a50ddc209",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/ExtensionValue.cs"
    },
    {
      "type": "modify",
      "old_id": "7044ded93cd1bf8595b8203f29ad3d21c05c49c2",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/FieldCodec.cs",
      "new_id": "60e64effd40b52b6faf0db8659cfa72bb3c3dd93",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/FieldCodec.cs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5cc2ae31a6da2a58305eeb40364a6c9abd5936ce",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/IExtendableMessage.cs"
    },
    {
      "type": "modify",
      "old_id": "7b13aa7bad78594c8a568e30401419943f2682e0",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/MessageExtensions.cs",
      "new_id": "5ca772f58e8d05eb6648d8e9a08ee72a9fe0bc9d",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/MessageExtensions.cs"
    },
    {
      "type": "modify",
      "old_id": "7e9c9884f4ba4e51ec765aa219bcdd0ba954743f",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/MessageParser.cs",
      "new_id": "76a350ce4c61c6c20036e0aed57660a7c52e429c",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/MessageParser.cs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b98d93a517c49b94696270e86b911a0a853d0f7d",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/ObjectIntPair.cs"
    },
    {
      "type": "modify",
      "old_id": "82e59cdcfa6c382f6feac1e74fc8aeb31f194efe",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/Reflection/CustomOptions.cs",
      "new_id": "57df2ed4a8ab94733be2c426240357a87e4a2169",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/Reflection/CustomOptions.cs"
    },
    {
      "type": "modify",
      "old_id": "6f4b5c52a1f30959fa335e111458253dd824fe2c",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/Reflection/Descriptor.cs",
      "new_id": "3052f73e07a6d15a2ae3df21dd00e4b2bfe4cbac",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/Reflection/Descriptor.cs"
    },
    {
      "type": "modify",
      "old_id": "9c2160feed1c7914f70e348bba94bbc9e50ebf6c",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/Reflection/DescriptorPool.cs",
      "new_id": "93f2fa9a4aef8563e23702b23cff536de04975ed",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/Reflection/DescriptorPool.cs"
    },
    {
      "type": "modify",
      "old_id": "4c5457a70c7243ad56ed9c2751dfafaa0c9b2bb7",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/Reflection/EnumDescriptor.cs",
      "new_id": "36a1d0a5ecd9ac55ae6e41a45e34d0d8628d0bd8",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/Reflection/EnumDescriptor.cs"
    },
    {
      "type": "modify",
      "old_id": "8a14b87b7ee6a907d21ff6218664f082d742144a",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/Reflection/EnumValueDescriptor.cs",
      "new_id": "99c989130c8e476104cfa92b038244f8cc3ed637",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/Reflection/EnumValueDescriptor.cs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "81d6e35f0132892d7d632fe13f4bac4becdb9bbb",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/Reflection/ExtensionAccessor.cs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5ed4b53164dd96121b2126b2590165687e17a285",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/Reflection/ExtensionCollection.cs"
    },
    {
      "type": "modify",
      "old_id": "5ad192ebfc2ac7357229465101a12dfedc3e4110",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/Reflection/FieldDescriptor.cs",
      "new_id": "5a2f7f3d8e1f086daa9be35a9368467a2914a016",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/Reflection/FieldDescriptor.cs"
    },
    {
      "type": "modify",
      "old_id": "992b792adaf41af13586eb528150e2c9a1b60230",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/Reflection/FileDescriptor.cs",
      "new_id": "4c2fe54d560bfe443a39e495efe96f35f1cb4ff6",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/Reflection/FileDescriptor.cs"
    },
    {
      "type": "modify",
      "old_id": "fe5db65656fffa9c28bf6641b75eb2e3943515b7",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/Reflection/GeneratedClrTypeInfo.cs",
      "new_id": "479e177130fce64d15ea72bc060ff72bd15724ae",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/Reflection/GeneratedClrTypeInfo.cs"
    },
    {
      "type": "modify",
      "old_id": "68722d4d931c61eea225525a3c38ac9dda95ff84",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/Reflection/MessageDescriptor.cs",
      "new_id": "15bfbfadd04e4b5b5d0d83db51ce72724385c81c",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/Reflection/MessageDescriptor.cs"
    },
    {
      "type": "modify",
      "old_id": "19d7f8a09258fbe9961c8423cdda7ade9cc539ef",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/Reflection/MethodDescriptor.cs",
      "new_id": "1b37d9b17226f18c2170edc2e8ba76bdd1265809",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/Reflection/MethodDescriptor.cs"
    },
    {
      "type": "modify",
      "old_id": "c026bea6775d658824c0d679f0512156ae6459b6",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/Reflection/OneofDescriptor.cs",
      "new_id": "9f3d805d05bdda6c765988bd00fb7b97fcd3fbe2",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/Reflection/OneofDescriptor.cs"
    },
    {
      "type": "modify",
      "old_id": "b22e8d1297ca5c682fb25afa114a081daf7a0c8e",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/Reflection/ReflectionUtil.cs",
      "new_id": "ca9c808343b92d744a447e95427c504e2d4cc4f3",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/Reflection/ReflectionUtil.cs"
    },
    {
      "type": "modify",
      "old_id": "da57055118a32961f5be3010dcb8deb5ac77b088",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/Reflection/ServiceDescriptor.cs",
      "new_id": "54f4df7298a0c446824ab8013a8b0b2eae2d0803",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/Reflection/ServiceDescriptor.cs"
    },
    {
      "type": "modify",
      "old_id": "dd9911067ed98d99e7e96a52272a342ef09309bd",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/WellKnownTypes/Any.cs",
      "new_id": "09e0e29f0de90d7f67083cfd29147c7a63d01719",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/WellKnownTypes/Any.cs"
    },
    {
      "type": "modify",
      "old_id": "438e1db8da2f9183d28f7b08f6c45c3495aad144",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/WellKnownTypes/Api.cs",
      "new_id": "06a990591940feece7c30fb47e0b528762f22c3b",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/WellKnownTypes/Api.cs"
    },
    {
      "type": "modify",
      "old_id": "2858b532b6367ba989b9191e5da2808d279e5f24",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/WellKnownTypes/Duration.cs",
      "new_id": "7a6f50190e1a0f89b1852d7b9f21548201e21342",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/WellKnownTypes/Duration.cs"
    },
    {
      "type": "modify",
      "old_id": "2113add9bca138f0e66f85987aeaa4b49c77ddc4",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/WellKnownTypes/Empty.cs",
      "new_id": "fa435cd23edf7002e83b85d4ff017550892ffc37",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/WellKnownTypes/Empty.cs"
    },
    {
      "type": "modify",
      "old_id": "6ad31a50eacc37cee4a9de8fc0050b6411426576",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/WellKnownTypes/FieldMask.cs",
      "new_id": "0bbf3139716289fe65ed97635c8bcf4dae39fae9",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/WellKnownTypes/FieldMask.cs"
    },
    {
      "type": "modify",
      "old_id": "124ddaa712342127caad3165395b908e03b4d997",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/WellKnownTypes/SourceContext.cs",
      "new_id": "d7076196e0fd244c9c7c2639d0e66e8ab13a8a84",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/WellKnownTypes/SourceContext.cs"
    },
    {
      "type": "modify",
      "old_id": "194b81e965e5972a7330d3e2309f86b0e15fb19a",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/WellKnownTypes/Struct.cs",
      "new_id": "b1dbe239cc9cefde14229e439e017885cdce95e4",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/WellKnownTypes/Struct.cs"
    },
    {
      "type": "modify",
      "old_id": "9df237cfc0ddeeb67248f9731491389a80421987",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/WellKnownTypes/Timestamp.cs",
      "new_id": "12f4812af37fed5e72558e39304d41f325330320",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/WellKnownTypes/Timestamp.cs"
    },
    {
      "type": "modify",
      "old_id": "52bd343ba8417842577aab1cf4ebc2d246ab2822",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/WellKnownTypes/Type.cs",
      "new_id": "bfd4b8ec822107ee0467cc22715aa1bcbb7199fb",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/WellKnownTypes/Type.cs"
    },
    {
      "type": "modify",
      "old_id": "25a65aa72c98f398eebaadf9b5b0dc51c0ff969d",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/WellKnownTypes/Wrappers.cs",
      "new_id": "556af3c931b66dc1ed61318f65c934032286c982",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/WellKnownTypes/Wrappers.cs"
    },
    {
      "type": "modify",
      "old_id": "f3adeb15f93ebcf89b2e10cbb1749d2d938a2370",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/WireFormat.cs",
      "new_id": "68f0f4a1f520955a26801cb3e8e0bcb54b1a65f3",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/WireFormat.cs"
    },
    {
      "type": "modify",
      "old_id": "4d9bb67224c1fdb6f53e9ba3771765232de028ca",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_enum_field.cc",
      "new_id": "186fa27e5b36c0f990e055b3936a9c450c379ffd",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_enum_field.cc"
    },
    {
      "type": "modify",
      "old_id": "04ca68da6e1e473b1d13bdb8e633a61dde96260b",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_enum_field.h",
      "new_id": "9f1a2ea777c41a64e3987735323cfc529ab2879e",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_enum_field.h"
    },
    {
      "type": "modify",
      "old_id": "8ac0d3ab0eb23482602944631072c4da816660c8",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_field_base.cc",
      "new_id": "9be7b70e0b9a00028eb1cdd78bedc7e9926ad848",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_field_base.cc"
    },
    {
      "type": "modify",
      "old_id": "28a096217a9201cf919994d463d6d51c7e4de6b2",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_field_base.h",
      "new_id": "594461da784586d96b5e3b820acf7190a773116a",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_field_base.h"
    },
    {
      "type": "modify",
      "old_id": "e8b5dcda416e6b53bf5ad7b101a1d64d14947cbc",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_helpers.cc",
      "new_id": "f0684a6f7f739b17eea5ce0666866b853082f0f3",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_helpers.cc"
    },
    {
      "type": "modify",
      "old_id": "d351a1c9b7050fb5c4118eb1194a1a7236cc81da",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_helpers.h",
      "new_id": "df18348131c3ca899709c892f48a40c570d79618",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_helpers.h"
    },
    {
      "type": "modify",
      "old_id": "513f8e9d5db31bbd7435ddfba9a707863f18be40",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_message.cc",
      "new_id": "6ebd89f02fe2ef1d60acdb7ec889fea34f192335",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_message.cc"
    },
    {
      "type": "modify",
      "old_id": "7e88ecf13214bd54a92c8161c21d0eef881b6309",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_message.h",
      "new_id": "5642dc88120c8ea7f5ad5d48a2edb2e6f221a83d",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_message.h"
    },
    {
      "type": "modify",
      "old_id": "f774c236c75d1b94cb54e8ac18f576c6cf31b86c",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_message_field.cc",
      "new_id": "412579831258d0dfb7a0a787ad31752c84b8e88b",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_message_field.cc"
    },
    {
      "type": "modify",
      "old_id": "224bc28ead150e0193d702bbfdb247f5c953396d",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_message_field.h",
      "new_id": "2463d912ba983b5476779f99dd1439127212f69d",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_message_field.h"
    },
    {
      "type": "modify",
      "old_id": "9e4bb49db00ff607f19afaa7415b444712765470",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_primitive_field.cc",
      "new_id": "eb7f70dda6b57f7c06c475afcec6655860a3d031",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_primitive_field.cc"
    },
    {
      "type": "modify",
      "old_id": "54782e15f088ffc3d357fc14fd8fb1a1765a6e6f",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_primitive_field.h",
      "new_id": "5edcc42b7ba4d4790e02a8e02468258cf9090c6b",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_primitive_field.h"
    },
    {
      "type": "modify",
      "old_id": "4ed2ef3637df0f8e14ef64b7435f7ccf026a10d5",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_reflection_class.cc",
      "new_id": "38a36024f922f9a31ff18b94dc833712d353788b",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_reflection_class.cc"
    },
    {
      "type": "modify",
      "old_id": "1a4a2f4a7d293a61bb4f8432347e6e6515d1fb42",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_reflection_class.h",
      "new_id": "9554727766864597d6c5e0dd746fb1948c0aca36",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_reflection_class.h"
    },
    {
      "type": "modify",
      "old_id": "b8e66abb2b218a46790043af6be05311690d3b55",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.cc",
      "new_id": "73309a7edd1eef718161fbb3c7483c2dd439063d",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.cc"
    },
    {
      "type": "modify",
      "old_id": "75de1adab3396be050343c60f96c10ecf758032b",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.h",
      "new_id": "c7a632a17d4fc09a89b7d0e66c4f0b257a36e6ef",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.h"
    },
    {
      "type": "modify",
      "old_id": "bf76c0d37851661015fb987437d0ad98f8749d05",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_repeated_message_field.cc",
      "new_id": "4b4b37de1bb4f74c0e72668c9af8cd0bd30deb73",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_repeated_message_field.cc"
    },
    {
      "type": "modify",
      "old_id": "e1b5f27c17d31b3df2d2c387754404098610e46b",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_repeated_message_field.h",
      "new_id": "74f6874df263ab6e2c90b2b6f160797291b6df11",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_repeated_message_field.h"
    },
    {
      "type": "modify",
      "old_id": "78fcdc674f948252137f4717dc08cee2c4371dbc",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.cc",
      "new_id": "c1444ea124aa1b48c79f02b5a4aeb3604e915374",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.cc"
    },
    {
      "type": "modify",
      "old_id": "7d9826fcd9ba1f876c86535d2971f4ec62a4d3b5",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.h",
      "new_id": "2a3be48168094babc0d92cea480b50905123f17d",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.h"
    },
    {
      "type": "modify",
      "old_id": "f284763dfd13283782d4ec1eda241004d894f522",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_wrapper_field.cc",
      "new_id": "add20ab9fe635b1d71642b799f4e79b8eb346956",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_wrapper_field.cc"
    },
    {
      "type": "modify",
      "old_id": "ee684dda7c5f17615677f422d43f2ab14316d022",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/csharp/csharp_wrapper_field.h",
      "new_id": "394e27de595d5511b0a5e29baf92af1b0f3e4e9f",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/csharp/csharp_wrapper_field.h"
    }
  ]
}
