)]}'
{
  "commit": "9eb10b1d3ef8d9670f415c42ac1df64e6ff4296d",
  "tree": "ec864f00355c7fbb20d96880596be5db89fc7f85",
  "parents": [
    "6e4e7296867b5c082b3a1b4c3aa03051b7d11953"
  ],
  "author": {
    "name": "Bryan C. Mills",
    "email": "bcmills@google.com",
    "time": "Fri Jun 04 17:34:44 2021 -0400"
  },
  "committer": {
    "name": "Bryan C. Mills",
    "email": "bcmills@google.com",
    "time": "Tue Jun 08 18:59:50 2021 +0000"
  },
  "message": "modfile: make marking for removal a method on Line instead of FileSyntax\n\nThe act of marking a line for removal intentionally does not depend on\nthe rest of the syntax tree, in order to avoid quadratic behavior.\nMake that property more explicit by defining it as a method on Line\nrather than FileSyntax.\n\nFor golang/go#45965\n\nChange-Id: I475625eddf57396411a3fb73eaedd624dd7af3d6\nReviewed-on: https://go-review.googlesource.com/c/mod/+/325969\nTrust: Bryan C. Mills \u003cbcmills@google.com\u003e\nRun-TryBot: Bryan C. Mills \u003cbcmills@google.com\u003e\nTryBot-Result: Go Bot \u003cgobot@golang.org\u003e\nReviewed-by: Michael Matloob \u003cmatloob@golang.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "81e760938b1759b1f9bdb72ca970b90909628b0a",
      "old_mode": 33188,
      "old_path": "modfile/read.go",
      "new_id": "956f30cbb399a558e2fc99f9ea8c4a113a0e2c2e",
      "new_mode": 33188,
      "new_path": "modfile/read.go"
    },
    {
      "type": "modify",
      "old_id": "71cda84c7b67abc27fd399d0cf5e9d2d70629df2",
      "old_mode": 33188,
      "old_path": "modfile/rule.go",
      "new_id": "f1776c414ae2c5b1de4bd288768f48b40648c92d",
      "new_mode": 33188,
      "new_path": "modfile/rule.go"
    }
  ]
}
