)]}'
{
  "commit": "03e951c4abd217e6f1ae20cd8bb6d2d25e0fff8a",
  "tree": "eeb7a60ac19fea1476df6a15a784ef480d5c1a5d",
  "parents": [
    "9df69603baec7844d33bef96918ac5dcb1be3326"
  ],
  "author": {
    "name": "Rob Findley",
    "email": "rfindley@google.com",
    "time": "Thu Oct 08 10:37:28 2020 -0400"
  },
  "committer": {
    "name": "Robert Findley",
    "email": "rfindley@google.com",
    "time": "Thu Oct 08 17:20:56 2020 +0000"
  },
  "message": "internal/lsp/source: add an experimental new cache key for packages\n\nWe\u0027ve recently noted that hashing the packages.Config into the cache key\nfor the type checked package is probably unnecessary, given that all the\nother critical inputs into the typechecker are already included\n(packageID, parsed files, and deps). Furthermore, when using a gopls\ndaemon this causes unnecessary cache misses, because the packages.Config\nincludes things like working directory that no longer matter once other\ninputs to type checking have been computed.\n\nAdd an experiment flag that removes the packages.Config from the cache\nkey. An experiment is used to stage this change as comprehensively\ntesting the cache is ~impossible.\n\nChange-Id: I7ba73daaa71a80ec996decaa9817ec515b5eeb6e\nReviewed-on: https://go-review.googlesource.com/c/tools/+/260737\nRun-TryBot: Robert Findley \u003crfindley@google.com\u003e\ngopls-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nTryBot-Result: Go Bot \u003cgobot@golang.org\u003e\nTrust: Robert Findley \u003crfindley@google.com\u003e\nReviewed-by: Rebecca Stambler \u003crstambler@golang.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2c00fed816cfb138d072ea3ba96e3df308e89172",
      "old_mode": 33188,
      "old_path": "gopls/doc/settings.md",
      "new_id": "255b5dc12a77d8fd53634f2f6fc16780d8dcd6f6",
      "new_mode": 33188,
      "new_path": "gopls/doc/settings.md"
    },
    {
      "type": "modify",
      "old_id": "25f314786eb829fd416947a3151989444ecbaed6",
      "old_mode": 33188,
      "old_path": "internal/lsp/cache/check.go",
      "new_id": "688d52b14306f2a03ddbdb12e8bfe150653806ff",
      "new_mode": 33188,
      "new_path": "internal/lsp/cache/check.go"
    },
    {
      "type": "modify",
      "old_id": "77a4c27257c8419ebebf5f04beed154d73d4ee3d",
      "old_mode": 33261,
      "old_path": "internal/lsp/source/api_json.go",
      "new_id": "4b66cefc5a3d3dc1836191752b793329ce117f11",
      "new_mode": 33261,
      "new_path": "internal/lsp/source/api_json.go"
    },
    {
      "type": "modify",
      "old_id": "90ca2634c1a1989418ee064fa153f8771e056b5b",
      "old_mode": 33188,
      "old_path": "internal/lsp/source/options.go",
      "new_id": "b264bf8803b840356d79787987b459717daf8223",
      "new_mode": 33188,
      "new_path": "internal/lsp/source/options.go"
    }
  ]
}
