)]}'
{
  "commit": "60ddccae8574e69e18ab4c19979ee15bfdf95af6",
  "tree": "a5f4c113cd5ea12e70a1a0aff6af3e05f36c4f4d",
  "parents": [
    "02bef08ac854e6831ece3f9c722e5084f0cc6ec1"
  ],
  "author": {
    "name": "Alan Donovan",
    "email": "adonovan@google.com",
    "time": "Wed Oct 05 18:58:00 2022 -0400"
  },
  "committer": {
    "name": "Gopher Robot",
    "email": "gobot@golang.org",
    "time": "Fri Oct 07 14:24:20 2022 +0000"
  },
  "message": "internal/diff: Apply: validate inputs\n\nApply now checks that its edits are valid\n(not out of bounds or overlapping),\nand reports an error if not.\n\nIt also sorts them, if necessary, using (start, end)\nas the key, to ensure that insertions (end\u003dstart)\nare ordered before deletions at the same point\n(but without changing the relative order of insertions).\n\nTwo other implementations of the diff.Apply algorithm\nhave been eliminated. (One of them failed to sort edits,\nrequiring the protocol sender to do so; that burden\nis now gone.)\n\nChange-Id: Ia76e485e6869db4a165835c3312fd14bc7d43db2\nReviewed-on: https://go-review.googlesource.com/c/tools/+/439278\nAuto-Submit: Alan Donovan \u003cadonovan@google.com\u003e\ngopls-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nTryBot-Result: Gopher Robot \u003cgobot@golang.org\u003e\nReviewed-by: Robert Findley \u003crfindley@google.com\u003e\nRun-TryBot: Alan Donovan \u003cadonovan@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bc25b9f2b785596301ab67d52ec2d0f0e7b7f444",
      "old_mode": 33188,
      "old_path": "go/analysis/analysistest/analysistest.go",
      "new_id": "14140be14b025f79288ff4c6a7180de29a244465",
      "new_mode": 33188,
      "new_path": "go/analysis/analysistest/analysistest.go"
    },
    {
      "type": "modify",
      "old_id": "3aa1f0b7806376511fd4097e420f4d3a87de8d45",
      "old_mode": 33188,
      "old_path": "gopls/internal/hooks/diff.go",
      "new_id": "cac136ae1925570a1e3598e9d0ae798b9631a1eb",
      "new_mode": 33188,
      "new_path": "gopls/internal/hooks/diff.go"
    },
    {
      "type": "modify",
      "old_id": "17e3e6a501187df632048c2766e726886e5fefb0",
      "old_mode": 33188,
      "old_path": "gopls/internal/lsp/cmd/format.go",
      "new_id": "56e39053c104e57078c338943a265275e5f124b7",
      "new_mode": 33188,
      "new_path": "gopls/internal/lsp/cmd/format.go"
    },
    {
      "type": "modify",
      "old_id": "7fd548381fe6dec01a6b624a23a3ab724811f03a",
      "old_mode": 33188,
      "old_path": "gopls/internal/lsp/cmd/imports.go",
      "new_id": "4ee6fce4c96fb9d6966ef6405fd3a15078addc86",
      "new_mode": 33188,
      "new_path": "gopls/internal/lsp/cmd/imports.go"
    },
    {
      "type": "modify",
      "old_id": "e0ffa663bfee0aee64dc90c946d0b9dd8cf7826c",
      "old_mode": 33188,
      "old_path": "gopls/internal/lsp/cmd/rename.go",
      "new_id": "58fb07d7f15edf8d7869743ee35590d44b90ac77",
      "new_mode": 33188,
      "new_path": "gopls/internal/lsp/cmd/rename.go"
    },
    {
      "type": "modify",
      "old_id": "b6022a7ee5549caeb9b62613b179ec75e1a62fb0",
      "old_mode": 33188,
      "old_path": "gopls/internal/lsp/cmd/suggested_fix.go",
      "new_id": "9c103deff8a54711f09c1864010f0f2d9ef7869d",
      "new_mode": 33188,
      "new_path": "gopls/internal/lsp/cmd/suggested_fix.go"
    },
    {
      "type": "modify",
      "old_id": "bb5fb80900bea317f2dbdef011725675ffac02f6",
      "old_mode": 33188,
      "old_path": "gopls/internal/lsp/fake/edit.go",
      "new_id": "3eb13ea2f4c1738d6f1278bead172a789e5620cd",
      "new_mode": 33188,
      "new_path": "gopls/internal/lsp/fake/edit.go"
    },
    {
      "type": "modify",
      "old_id": "4fa23bdb74abd9e7df42b01d0ca8c1588cb221bb",
      "old_mode": 33188,
      "old_path": "gopls/internal/lsp/fake/edit_test.go",
      "new_id": "f87d92103362b97ad65d88b3323bb9fef05f89d1",
      "new_mode": 33188,
      "new_path": "gopls/internal/lsp/fake/edit_test.go"
    },
    {
      "type": "modify",
      "old_id": "17bec286b7d319329880760a6e0351d94a169266",
      "old_mode": 33188,
      "old_path": "gopls/internal/lsp/fake/editor.go",
      "new_id": "e65db938ad7171d66c1554de1872930ebdeb1466",
      "new_mode": 33188,
      "new_path": "gopls/internal/lsp/fake/editor.go"
    },
    {
      "type": "modify",
      "old_id": "78032f0436812aed5298cd5e9d8a8e75c52323e9",
      "old_mode": 33188,
      "old_path": "gopls/internal/lsp/lsp_test.go",
      "new_id": "4cd009d2f0f82bd2bf7fb85ebb01d99251723e8f",
      "new_mode": 33188,
      "new_path": "gopls/internal/lsp/lsp_test.go"
    },
    {
      "type": "modify",
      "old_id": "dc7445a025caed48ad483a31435eecec4a683883",
      "old_mode": 33188,
      "old_path": "gopls/internal/lsp/source/format.go",
      "new_id": "c6e70efce6fa45e77704645485770896a46fb7e7",
      "new_mode": 33188,
      "new_path": "gopls/internal/lsp/source/format.go"
    },
    {
      "type": "modify",
      "old_id": "842b1a9850bf39c601f76a754e00fdd3784f9272",
      "old_mode": 33188,
      "old_path": "gopls/internal/lsp/source/rename.go",
      "new_id": "c5af1ca896ec90dc10aec0b6adb665e66620d30b",
      "new_mode": 33188,
      "new_path": "gopls/internal/lsp/source/rename.go"
    },
    {
      "type": "modify",
      "old_id": "0a4e70cb6f50f8acf48dddc335291ee1fb2c044c",
      "old_mode": 33188,
      "old_path": "gopls/internal/lsp/source/source_test.go",
      "new_id": "d81bdb7aeadb47ca3fb7b768b73627fff8e8927e",
      "new_mode": 33188,
      "new_path": "gopls/internal/lsp/source/source_test.go"
    },
    {
      "type": "modify",
      "old_id": "e7f8469d13d16ca1fc91ccdf7b135f4c86939116",
      "old_mode": 33188,
      "old_path": "internal/diff/diff.go",
      "new_id": "a75026dcaa1bf965611968bc641cd1e82953732a",
      "new_mode": 33188,
      "new_path": "internal/diff/diff.go"
    },
    {
      "type": "modify",
      "old_id": "8b8b6489e06e83cc86e6de9ee25409704a53d5ae",
      "old_mode": 33188,
      "old_path": "internal/diff/diff_test.go",
      "new_id": "d4c3746184dd9ecbc6f3aae0b82f7c190bee86b1",
      "new_mode": 33188,
      "new_path": "internal/diff/diff_test.go"
    },
    {
      "type": "modify",
      "old_id": "998a90f109f053f047b595329e15c072396ffb8d",
      "old_mode": 33188,
      "old_path": "internal/diff/difftest/difftest.go",
      "new_id": "5c0a741367012372b2f82f9f311ca253d64c936a",
      "new_mode": 33188,
      "new_path": "internal/diff/difftest/difftest.go"
    }
  ]
}
