)]}'
{
  "commit": "1b96834c2946460ab74b529df6b753fc0a03f628",
  "tree": "57457119ece2bd82714537b506839b9614473652",
  "parents": [
    "0f3e556044ecbd8a0805d098e52a743a1d0e3566"
  ],
  "author": {
    "name": "Russ Cox",
    "email": "rsc@golang.org",
    "time": "Wed Jun 20 12:16:24 2018 -0400"
  },
  "committer": {
    "name": "Russ Cox",
    "email": "rsc@golang.org",
    "time": "Wed Jun 27 18:58:22 2018 +0000"
  },
  "message": "cmd/go/internal/modfetch/gitrepo: simplify and cache git access\n\nThis CL drops the Root method from codehost.Repo,\nsince a codehost.Repo is really just about access to a source tree.\nIt has no real knowledge of anything related to modules or\nimport paths, so the Root method was out of place.\n\nDropping Root and then caching gitrepo by remote\nshould guarantee that there is at most one *gitrepo.repo\nfor a particular vcswork checkout directory.\n\nAdd a lock to codehost.Run to guarantee that at most one\ncommand runs in a directory at a time. This should not\nbe strictly necessary now, but it lets bugs be just inefficiencies\ninstead of crashes.\n\nChange-Id: I983c7a4691de3a0aa809c1af61679b48a77667e0\nReviewed-on: https://go-review.googlesource.com/120041\nRun-TryBot: Russ Cox \u003crsc@golang.org\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c077a3eb7417a54ba83516e2bb7deedf283a2b3e",
      "old_mode": 33188,
      "old_path": "vendor/cmd/go/internal/modfetch/bitbucket/fetch.go",
      "new_id": "58e74a5f4a564d6a5a23f16511dd47dd1a23036f",
      "new_mode": 33188,
      "new_path": "vendor/cmd/go/internal/modfetch/bitbucket/fetch.go"
    },
    {
      "type": "modify",
      "old_id": "177be3a0af15669f7b804dd9fa1d5e922f37fa76",
      "old_mode": 33188,
      "old_path": "vendor/cmd/go/internal/modfetch/codehost/codehost.go",
      "new_id": "85c0fe7fa1b54f93ee0044bc71f55abd84cad13e",
      "new_mode": 33188,
      "new_path": "vendor/cmd/go/internal/modfetch/codehost/codehost.go"
    },
    {
      "type": "modify",
      "old_id": "ab2a052a09e997fba10ae4941a343be5900de61a",
      "old_mode": 33188,
      "old_path": "vendor/cmd/go/internal/modfetch/coderepo.go",
      "new_id": "17c8b92549df3f45b1a6330b0042f098185b3ed1",
      "new_mode": 33188,
      "new_path": "vendor/cmd/go/internal/modfetch/coderepo.go"
    },
    {
      "type": "modify",
      "old_id": "4a622e39e5fea23bdbbc0ac0aadcfd123605ce04",
      "old_mode": 33188,
      "old_path": "vendor/cmd/go/internal/modfetch/coderepo_test.go",
      "new_id": "c8233a55726a79f56754550851d0fec780a33ee4",
      "new_mode": 33188,
      "new_path": "vendor/cmd/go/internal/modfetch/coderepo_test.go"
    },
    {
      "type": "modify",
      "old_id": "2494f80ab02f2c5ffe1a5947f4f1560435fba8ef",
      "old_mode": 33188,
      "old_path": "vendor/cmd/go/internal/modfetch/domain.go",
      "new_id": "c1e68130fdb6bce7662b4298e4bb2652800df07c",
      "new_mode": 33188,
      "new_path": "vendor/cmd/go/internal/modfetch/domain.go"
    },
    {
      "type": "modify",
      "old_id": "a2a90f166c9f59f504266c137651494c4024d076",
      "old_mode": 33188,
      "old_path": "vendor/cmd/go/internal/modfetch/github/fetch.go",
      "new_id": "bf5c720380b2d70b4dbde9388bde3fdbf83d64b5",
      "new_mode": 33188,
      "new_path": "vendor/cmd/go/internal/modfetch/github/fetch.go"
    },
    {
      "type": "modify",
      "old_id": "e0781896f7ed7ae3cc029a8926a33b88bebd65fa",
      "old_mode": 33188,
      "old_path": "vendor/cmd/go/internal/modfetch/gitrepo/fetch.go",
      "new_id": "a2f58c06d53afac7b8967140be73af5bfbb0d994",
      "new_mode": 33188,
      "new_path": "vendor/cmd/go/internal/modfetch/gitrepo/fetch.go"
    },
    {
      "type": "modify",
      "old_id": "b2d2524ac050f3b64a6bbd798150f477a44f245d",
      "old_mode": 33188,
      "old_path": "vendor/cmd/go/internal/modfetch/gitrepo/fetch_test.go",
      "new_id": "99af883b6bdde30a32e5ee748dad15720ff5b2d3",
      "new_mode": 33188,
      "new_path": "vendor/cmd/go/internal/modfetch/gitrepo/fetch_test.go"
    },
    {
      "type": "modify",
      "old_id": "8317ac3e298672fb2c58f5df0d222b4740ecc90c",
      "old_mode": 33188,
      "old_path": "vendor/cmd/go/internal/modfetch/googlesource/fetch.go",
      "new_id": "a22a7bd6ed5bf3dbb17a45ea3025a6285bb81ec6",
      "new_mode": 33188,
      "new_path": "vendor/cmd/go/internal/modfetch/googlesource/fetch.go"
    },
    {
      "type": "modify",
      "old_id": "d49b60b3f030159f1584fa5ef0063749ad95bfe5",
      "old_mode": 33188,
      "old_path": "vendor/cmd/go/internal/modfetch/gopkgin.go",
      "new_id": "f79edc0bd93a7aa88b8553013c6c2ad45796f7f2",
      "new_mode": 33188,
      "new_path": "vendor/cmd/go/internal/modfetch/gopkgin.go"
    },
    {
      "type": "modify",
      "old_id": "072bbbca8f3c303b46a6c4d019eb05f234efed0d",
      "old_mode": 33188,
      "old_path": "vendor/cmd/go/internal/modfetch/repo.go",
      "new_id": "3542dcb4d1e04f25f611e82b60b99bc296ff3a6f",
      "new_mode": 33188,
      "new_path": "vendor/cmd/go/internal/modfetch/repo.go"
    }
  ]
}
