)]}'
{
  "log": [
    {
      "commit": "f621561646e8078690ff9966602bf506a52f9475",
      "tree": "7a67ca174760fa8b78d17c65aabb9782f2240de4",
      "parents": [
        "29efa12eae14d4b33559fa782cf4322e45ba93ef"
      ],
      "author": {
        "name": "Ian Lance Taylor",
        "email": "iant@golang.org",
        "time": "Thu Oct 31 16:00:42 2024 -0700"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Sat Nov 02 04:26:33 2024 +0000"
      },
      "message": "README: explain that repository is obsolete\n\nRemove reference cloning repo into GOPATH.\n\nFor golang/go#62645\n\nChange-Id: Id1b483f63e7a1c82529df5d991179c07acd51245\nReviewed-on: https://go-review.googlesource.com/c/vgo/+/624217\nReviewed-by: Ian Lance Taylor \u003ciant@google.com\u003e\nAuto-Submit: Ian Lance Taylor \u003ciant@google.com\u003e\nCommit-Queue: Ian Lance Taylor \u003ciant@google.com\u003e\nTryBot-Bypass: Dmitri Shuralyov \u003cdmitshur@golang.org\u003e\nReviewed-by: Dmitri Shuralyov \u003cdmitshur@google.com\u003e\nReviewed-by: Dmitri Shuralyov \u003cdmitshur@golang.org\u003e\nCommit-Queue: Ian Lance Taylor \u003ciant@golang.org\u003e\n"
    },
    {
      "commit": "29efa12eae14d4b33559fa782cf4322e45ba93ef",
      "tree": "270cd9c1ef646a1f923f1998635ed9afec1f5c45",
      "parents": [
        "58d495dcb2cee8474a7fb0544f6dd13fd8fd7a6b"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 16 11:35:26 2024 -0400"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Tue Jul 16 16:15:57 2024 +0000"
      },
      "message": "LICENSE: update per Google Legal\n\nVery minor tweaks:\n - Remove (c) pseudosymbol.\n - Remove \"All Rights Reserved.\"\n - Change \"Google Inc.\" (no longer exists) to \"Google LLC\".\n\n[git-generate]\necho \u0027\n,s/\\(c\\) //\n,s/ All rights reserved.//\n,s/Google Inc./Google LLC/\nw\nq\n\u0027 | sam -d LICENSE\n\nChange-Id: Ia2fe4cee586062b2df0002bf02d08c2b333e79c9\nReviewed-on: https://go-review.googlesource.com/c/vgo/+/598589\nReviewed-by: Ian Lance Taylor \u003ciant@google.com\u003e\nTryBot-Bypass: Russ Cox \u003crsc@golang.org\u003e\nCommit-Queue: Russ Cox \u003crsc@golang.org\u003e\nAuto-Submit: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "58d495dcb2cee8474a7fb0544f6dd13fd8fd7a6b",
      "tree": "90a74cbb35cd1c949d57e931c739ac6d8f4be659",
      "parents": [
        "680e4a313e30bf7e64efc52b24d4e5c0a0756ac0"
      ],
      "author": {
        "name": "cui fliter",
        "email": "imcusg@gmail.com",
        "time": "Fri Aug 18 10:44:55 2023 +0800"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Sat Aug 19 23:37:35 2023 +0000"
      },
      "message": "main.go: gofmt format\n\nChange-Id: I9098344d41057adbe415dda786b833562c1e2af8\nReviewed-on: https://go-review.googlesource.com/c/vgo/+/520736\nReviewed-by: Ian Lance Taylor \u003ciant@google.com\u003e\nAuto-Submit: Ian Lance Taylor \u003ciant@google.com\u003e\nTryBot-Bypass: Ian Lance Taylor \u003ciant@golang.org\u003e\nReviewed-by: Dmitri Shuralyov \u003cdmitshur@google.com\u003e\n"
    },
    {
      "commit": "680e4a313e30bf7e64efc52b24d4e5c0a0756ac0",
      "tree": "1ee504d3b4b1d7d3eff3123effef5af2ec32bddf",
      "parents": [
        "1dedb030b7d7506f84955b3a88debb18fbf1f8aa"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Oct 27 16:52:51 2022 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Oct 28 17:25:09 2022 +0000"
      },
      "message": "vgo: add spurious dependency on github.com/miekg/dns v1.0.0\n\nThis dependency is vulnerable to GO-2020-0006.\nThe point of this commit is to serve as a test case for\nautomated vulnerability scanning of the Go repos.\n\nUsing the vgo repo because it contains nothing\nimportant and is not imported by any of our other repos,\nwhich means any report should be limited to x/vgo\nand not affect other users.\n\nEven if people did depend on x/vgo, govulncheck would\ncorrectly identify that no code here calls the vulnerable\nsymbols in github.com/miekg/dns. Only less precise\nscanners would suggest that there is a problem.\n\nChange-Id: I97dca1c146b84764e867128710cf262ea6b68276\nReviewed-on: https://go-review.googlesource.com/c/vgo/+/446055\nReviewed-by: Roland Shoemaker \u003croland@golang.org\u003e\nAuto-Submit: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "1dedb030b7d7506f84955b3a88debb18fbf1f8aa",
      "tree": "5a62405e8842c4a3ad345d5858caacec4b46f421",
      "parents": [
        "9d567625acf4c5e156b9890bf6feb16eb9fa5c51"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jul 22 11:11:16 2022 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jul 22 15:53:08 2022 +0000"
      },
      "message": "A+C: delete AUTHORS and CONTRIBUTORS\n\nIn 2009, Google\u0027s open-source lawyers asked us to create the AUTHORS\nfile to define \"The Go Authors\", and the CONTRIBUTORS file was in\nkeeping with open source best practices of the time.\n\nRe-reviewing our repos now in 2022, the open-source lawyers are\ncomfortable with source control history taking the place of the\nAUTHORS file, and most open source projects no longer maintain\nCONTRIBUTORS files.\n\nTo ease maintenance, remove AUTHORS and CONTRIBUTORS from all repos.\n\nFor golang/go#53961.\n\nChange-Id: I15f0e3efdd1fdc70eb56520430f1a88a8e1042a2\nReviewed-on: https://go-review.googlesource.com/c/vgo/+/418926\nRun-TryBot: Russ Cox \u003crsc@golang.org\u003e\nReviewed-by: David Chase \u003cdrchase@google.com\u003e\n"
    },
    {
      "commit": "9d567625acf4c5e156b9890bf6feb16eb9fa5c51",
      "tree": "1a4505c7945c93771b3c2567a95ee51f6a2bae1a",
      "parents": [
        "045754d578a9e57344a06320e4dadfdec1da6891"
      ],
      "author": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Mon Sep 10 17:25:50 2018 -0400"
      },
      "committer": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Wed Sep 12 18:45:37 2018 +0000"
      },
      "message": "cmd/go: import from main repo at go1.11\n\nOne patch adjustment needed for CL 128735.\n\nFixes golang/go#27530.\n\nChange-Id: I3884c2569e89754e31dd1a0ce53fad3b77e05c95\nReviewed-on: https://go-review.googlesource.com/134415\nRun-TryBot: Bryan C. Mills \u003cbcmills@google.com\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\nReviewed-by: Ian Lance Taylor \u003ciant@golang.org\u003e\n"
    },
    {
      "commit": "045754d578a9e57344a06320e4dadfdec1da6891",
      "tree": "3b310fcefb64e53f04904eb9fdd40843f4da1f2d",
      "parents": [
        "20939850793927db78c179dcfcd5d4d6f44f2c01"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Mon Aug 06 12:46:28 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Aug 07 21:06:44 2018 +0000"
      },
      "message": "cmd/go: import from main repo at go1.11beta3\n\nOne small adjustment needed in patch.txt.\n\nRewrote README.md to clarify status of this repo.\n\nChange-Id: Ibe646468f864edb1a6bf7692a3d560170d231801\nReviewed-on: https://go-review.googlesource.com/127956\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "20939850793927db78c179dcfcd5d4d6f44f2c01",
      "tree": "2b407fa7f7fcfd4d81083bcaaccbe74e7c4f3177",
      "parents": [
        "cc75ec08d5ecfc4072bcefc2c696d1c30af692b9"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 12 00:12:11 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 19 18:55:52 2018 +0000"
      },
      "message": "cmd/go: import from main repo\n\nThe files update.bash and patch.txt are new.\nRunning update.bash made the other changes.\n\nFixes golang/go#25514 (version now auto-inserted).\nFixes golang/go#26434.\n\nChange-Id: Ied836ab8c1ddfea0a3158b2e4d84fbc787140e66\nReviewed-on: https://go-review.googlesource.com/123579\nRun-TryBot: Russ Cox \u003crsc@golang.org\u003e\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "cc75ec08d5ecfc4072bcefc2c696d1c30af692b9",
      "tree": "b675192aa14fe3246358b810122e1371d3303504",
      "parents": [
        "91f874188ecec6ad00e1e9d7fe0d94280aff559e"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jul 11 20:49:17 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 12 19:24:53 2018 +0000"
      },
      "message": "cmd/go: add local module proxy to make tests faster\n\nBecause \"go get\" with modules enabled allows use of a proxy,\nwe can run a proxy in the test and serve modules from local files,\nwhich makes the tests not depend on remote network servers\nand run significantly faster, speeding development.\n\nThe proxy serves modules from the testdata/mod directory,\nwhich holds one txtar archive per module. See testdata/mod/README.\n\nReduces time for \u0027go test -run\u003d^TestMod\u0027 from 115s to 11.9s.\nStill longer than I would like but significantly better.\n\nChange-Id: I1b8367b208a02549a44e91e4ea5c5fb9003123ae\nReviewed-on: https://go-review.googlesource.com/123361\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "91f874188ecec6ad00e1e9d7fe0d94280aff559e",
      "tree": "8c023cc90b39a54da6a8847eee95132370f72a57",
      "parents": [
        "9c3f38f7ed3e10631d3725df2ef97138fe69190f"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jul 11 21:02:52 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 12 17:27:48 2018 +0000"
      },
      "message": "cmd/go: rename TestModLegacy* to TestLegacyMod*\n\nThis preserves the property that -run\u003d^TestMod selects exactly those in mod_test.go.\n\nChange-Id: Ib186b4f56d598669f08440befe6d2baedc947298\nReviewed-on: https://go-review.googlesource.com/123360\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "9c3f38f7ed3e10631d3725df2ef97138fe69190f",
      "tree": "5faa71649cc16d7df3e8486aa3d09ce8b23de7a1",
      "parents": [
        "b07902164c0b4cb0f025fe5adc81c12aa4b45015"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 10 23:14:37 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 12 17:27:44 2018 +0000"
      },
      "message": "cmd/go/internal/txtar: new text archive format\n\nThis format is for storing tests and test modules.\n\nChange-Id: I3d2e30653bcedc82f80211631307ce64c2a43265\nReviewed-on: https://go-review.googlesource.com/123359\nReviewed-by: Ian Lance Taylor \u003ciant@golang.org\u003e\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "b07902164c0b4cb0f025fe5adc81c12aa4b45015",
      "tree": "4b2d386b58bac57236f291df0f97fd03e224ba31",
      "parents": [
        "1e80ef2e105ea83a5443ba96d4414a35e8719672"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 05 19:52:13 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 12 17:27:40 2018 +0000"
      },
      "message": "cmd/go/internal/modcmd: change -replace syntax from \u003d\u003e to \u003d\n\nThis avoids being forced to quote the argument to avoid being\ninterpreted as a shell redirection.\n\nFixes golang/go#26230.\n\nChange-Id: I2c79d259290a8db18eacc94aeebabc89bc6e72e7\nReviewed-on: https://go-review.googlesource.com/122404\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"
    },
    {
      "commit": "1e80ef2e105ea83a5443ba96d4414a35e8719672",
      "tree": "481231e16d32e60c0baa1b17aa39a0a7459637f6",
      "parents": [
        "94c68ad279b3c55957e57efe805c47533e51e9f1"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 05 16:05:18 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 12 17:27:38 2018 +0000"
      },
      "message": "cmd/go/internal/modfile: allow replace without old version\n\nReplace directives to date have looked like\n\n\treplace old v1.2.3 \u003d\u003e new v1.4.5\n\nAs pointed out in golang/go#24825, this can result in fragile go.mod\nwhere the replacement stops kicking in after an upgrade that\naffects the selected old version.\n\nThe fact that the replacement specifies exactly which version\nit is capable of replacing might be a feature, but in other contexts\nit\u0027s just a hassle. Allow not specifying the version, in which case\nthe replacement applies to all versions of that module.\n\nFixes golang/go#24825.\n\nChange-Id: Iad97dde25c06fcba3c1181d650f9fa5e95f83157\nReviewed-on: https://go-review.googlesource.com/122400\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"
    },
    {
      "commit": "94c68ad279b3c55957e57efe805c47533e51e9f1",
      "tree": "584704800bc543af666fbc185d128753fbf3e08f",
      "parents": [
        "a42a7e886866b90f9feaa22e3f1307ce2d051d50"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 10 13:55:26 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 12 03:18:12 2018 +0000"
      },
      "message": "cmd/go/internal/modload: finish Import implementation\n\nmodload.Import now means \"figure out what this import means in the main module\",\nincluding searching for a module to add to go.mod if the import is missing.\n(Previously it only did the search.)\n\nFix Import to handle overlapping module file trees correctly:\nthe fact that x/y/z is in the build list does not mean it is the\nmodule that must provide x/y/z/v2/w or even x/y/z/w.\n\nThe definition of \"go get x@v\" is now easy to explain: if x is a module path,\ngo get is talking about that module. Otherwise go get is talking about the\nmodule that provides or would provide x if encountered as an import in the\nmain module.\n\nSimplify the package load process by using the new Import to eliminate\nthe separate doMissing parallel pass, as suggested by Bryan in an\nearlier code review.\n\nDrop modload.SrcMod in favor of modfetch.SrcMod,\nand guard against SrcMod unset (filepath.Join(x, y) treats x\u003d\"\" as like x\u003d\".\"),\nwhich can happen in tests.\n\nFixes golang/go#24851.\nFixes golang/go#26048.\nFixes golang/go#26250.\n\nChange-Id: I16abfa0c095492fc10ccd75f5857c1c087935867\nReviewed-on: https://go-review.googlesource.com/123095\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "a42a7e886866b90f9feaa22e3f1307ce2d051d50",
      "tree": "da8ff4c6d50474231526688770d0d05e9ea09aa4",
      "parents": [
        "2deaec63ddc7eae942c732de7d6970537628a0e0"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Mon Jul 09 13:10:01 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 12 03:18:07 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch: move Import and Query to ../modload\n\nImport and Query are about the set of modules viewed\nthrough the modifying lens of the exclude and replace\ndirectives in go.mod. Since package modload is what\nmanages go.mod, move them there.\n\nQuery\u0027s \u0027allowed\u0027 argument was meant to capture the\ngo.mod influence, but it fails to capture replacements,\nand at that point we might as well move it where it belongs.\n\nImport is currently ignorant of module replacements\nbut needs to take them into account.\n\nThis CL only moves the code and test. It does not make semantic changes.\n\nChange-Id: I7adde3b0e6076f8ce5719e86c1f771d8dcb4b572\nReviewed-on: https://go-review.googlesource.com/122880\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "2deaec63ddc7eae942c732de7d6970537628a0e0",
      "tree": "634de47a0aa8fbff98492eded45bf31dd0fbc13b",
      "parents": [
        "f8b4e1441ebe4d8241c5e2c2b6201473bd59ed55"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jul 06 15:15:27 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 12 03:18:04 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch/codehost: fix git code export on Windows\n\nGit was helpfully putting \\r\\n line endings into the files during \"git archive\",\nwhich meant that the hash validation didn\u0027t work. Fix that.\n\nI believe this bug would have made TestModVerify fail on a\nWindows system with git installed and with the default git settings,\nbut I don\u0027t have such a system easily available to test with.\n\nThanks to CJ-Jackson on GitHub for identifying the right Git flags.\n\nFixes golang/go#26229.\n\nChange-Id: Ic33ef7272eb3a5cc6b43c361a7d3a1b1d55db714\nReviewed-on: https://go-review.googlesource.com/122480\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "f8b4e1441ebe4d8241c5e2c2b6201473bd59ed55",
      "tree": "f78f262fa2413449206cac76f6a9509b9e508c80",
      "parents": [
        "63c8648e07914a0102233b452a94455d5ba932ee"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 05 23:08:58 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 12 03:18:00 2018 +0000"
      },
      "message": "cmd/go/internal/modload: work better with -getmode\u003dvendor\n\nIf we have -getmode\u003dvendor, we can still make a list\nof all the modules using the vendor/modules.txt file.\nAnd we can make sure that builds work.\n\nFixes golang/go#26126.\n\nChange-Id: I1a68cbfed71227b8dad2803fcdf8291129681b72\nReviewed-on: https://go-review.googlesource.com/122479\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "63c8648e07914a0102233b452a94455d5ba932ee",
      "tree": "58987e80b11b6915e740c363f815d6fc16680316",
      "parents": [
        "21bb857d72655625756b7f11fae39f5548d97d54"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 05 20:27:03 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 12 03:17:56 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch: maintain @v/list files\n\nAfter this change, the $GOPATH/src/mod/cache/download file tree\nis exactly the format that needs to be served from a Go package proxy.\nThe tree can be copied to static hosting or even accessed by\nsetting GOPROXY to a file:/// URL. Test that.\n\nFixes golang/go#26185.\n\nChange-Id: I81f10fa42835a5d1909ab348fd1dfb7449089f5e\nReviewed-on: https://go-review.googlesource.com/122406\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "21bb857d72655625756b7f11fae39f5548d97d54",
      "tree": "59c1b9c617cf9beb2723e4b5c06cc1bda2107d28",
      "parents": [
        "cca306db8fa270488d7a0825e467b05156fd7530"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 05 20:12:46 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 12 03:17:52 2018 +0000"
      },
      "message": "cmd/go: diagnose misuse of path@version syntax\n\nWe should only see path@version arguments\nin module mode, and then only for \u0027go get\u0027.\n\nChange-Id: I223a924b42bbd1710713c2202e5b4403fef7e18d\nReviewed-on: https://go-review.googlesource.com/122405\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "cca306db8fa270488d7a0825e467b05156fd7530",
      "tree": "248307314c47bc03ae75485d6694d2385c19f5ec",
      "parents": [
        "a4111b184cac70ec5478914d3b98168dd34bcf4a"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 05 17:05:16 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 12 03:17:48 2018 +0000"
      },
      "message": "cmd/go/internal/list: implement and test list -m -e for plain arguments\n\nWe were being lazy treating arguments like \"foo\" as a pattern.\nThat produced the weird output:\n\n\twarning: pattern \"foo\" matched no module dependencies\n\nInstead, non-pattern mismatches as actual errors, making\nthem available to template patterns and also making the list\ncommand fail for bad module names.\n\nInspired by golang/go#24149, which is already fixed by\nthe new loader. Added a test for that case too.\n\nFixes golang/go#24149.\n\nChange-Id: I4f4b24d44623d9604f365ec2247a99129c35a507\nReviewed-on: https://go-review.googlesource.com/122402\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "a4111b184cac70ec5478914d3b98168dd34bcf4a",
      "tree": "b77fc457998ca10628ff0ea1eb7cd1a1de42bce8",
      "parents": [
        "edeef9f530fb98f94be6603795f7e0e426ea986e"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 05 16:55:37 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 12 03:17:45 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch: make source cache directories unwritable\n\nWhen we run tests of dependency packages,\nwe run them in their source directories\n(as we do for all tests).\n\nDiscourage modification of the source directories\nby marking them unwritable. This will undoubtedly\nbreak some tests that write temporary files to the\ncurrent directory and then clean up after themselves.\nThat\u0027s OK: those tests should be fixed.\n(We have a bunch of those ourselves, to be sure.)\n\nChange-Id: Ie0e6713c0121a359b2f7153fe6cf27eac381b931\nReviewed-on: https://go-review.googlesource.com/122401\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "edeef9f530fb98f94be6603795f7e0e426ea986e",
      "tree": "32e5be8a6af7a11509d10fdde2d4852da8e8abca",
      "parents": [
        "8f8669e543c745dc1cc5ab946e529dfd0c38dc1c"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 05 15:19:36 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 12 03:17:41 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch: add detail to \"missing go.mod\" errors\n\nExplain what\u0027s wrong better than \"missing or invalid go.mod\".\nWhile we\u0027re here, improve the signal-to-noise ratio too.\n\nBefore this CL, using the scenario from golang/go#24522:\n\n$ vgo get github.com/rsc/blackfriday/v2\ngo: github.com/rsc/blackfriday/v2 v2.0.1: missing or invalid go.mod\ngo get github.com/rsc/blackfriday/v2: missing or invalid go.mod\n\n$ vgo get github.com/rsc/blackfriday/v2@v2.0.1-bad\ngo: github.com/rsc/blackfriday/v2 v2.0.1-bad: missing or invalid go.mod\ngo get github.com/rsc/blackfriday/v2@v2.0.1-bad: missing or invalid go.mod\n\nAfter this CL:\n\n$ vgo get github.com/rsc/blackfriday/v2\ngo: github.com/rsc/blackfriday/v2@v2.0.0: missing github.com/rsc/blackfriday/go.mod and .../v2/go.mod at revision v2.0.0\ngo: error loading module requirements\n\n$ vgo get github.com/rsc/blackfriday/v2@v2.0.1-bad\ngo: github.com/rsc/blackfriday/v2@v2.0.1-bad: go.mod has non-.../v2 module path \"github.com/rsc/blackfriday\" (and .../v2/go.mod does not exist) at revision v2.0.1-bad\ngo: error loading module requirements\n\nFixes golang/go#24522.\n\nChange-Id: I1471729cdde8345130d771f26b1501638b7452d2\nReviewed-on: https://go-review.googlesource.com/122399\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "8f8669e543c745dc1cc5ab946e529dfd0c38dc1c",
      "tree": "539f0c62f48451ba2f26e354e772722d4774792d",
      "parents": [
        "16da15e99a35be28c6a9088a4057620d7ea5fc51"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 05 14:08:53 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 12 03:17:37 2018 +0000"
      },
      "message": "cmd/go/internal/modlist: test list -m -f\u003d{{.Dir}}\n\nWas not returning correct (any) result for main module.\n\nFixes golang/go#26044.\n\nChange-Id: I10fb82d30871d0b895b0487ce2382eed29eacdf2\nReviewed-on: https://go-review.googlesource.com/122398\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "16da15e99a35be28c6a9088a4057620d7ea5fc51",
      "tree": "5217697e88fb6f8e666dd9dc114c48ad2daedff8",
      "parents": [
        "4d8d2f8f50a0e4279f692b49f3ed98b4101caec8"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 05 16:25:07 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 12 03:17:33 2018 +0000"
      },
      "message": "cmd/go/internal/search: ignore submodules in ./... patterns\n\nCL 117257 handled path patterns like ... or x/...\nbut not file system patterns like ./... or ./x/... .\n\nFixes golang/go#24605 again.\n\nChange-Id: Ia5337a3490dfb3626b0af35199ae732fca0ed476\nReviewed-on: https://go-review.googlesource.com/122397\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "4d8d2f8f50a0e4279f692b49f3ed98b4101caec8",
      "tree": "5b9baef6b9a97d56c6342f3862a0cb638932f501",
      "parents": [
        "73a132e9da59e656acec3430d234708509d969d2"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jul 04 22:54:37 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 12 03:17:29 2018 +0000"
      },
      "message": "cmd/go/internal/get: complete implementation\n\nThe original prototype only supported \"go get thing\"\nand \"go get -u\" but not the obvious \"go get -u thing\".\nFix that.\n\nAlso add \"go get -u\u003dpatch\", as promised in the proposal.\n(There it was called \"-p\", but that\u0027s a build flag already.)\n\nRedefine \"go get -m\" (not implemented until now) to mean\n\"only update go.mod\".\n\nFixes golang/go#24105.\nFixes golang/go#24486.\n\nChange-Id: I981a86cf2b283f8d05e404292fa5d3482540105c\nReviewed-on: https://go-review.googlesource.com/122396\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "73a132e9da59e656acec3430d234708509d969d2",
      "tree": "9a7c717c086a2eb8b880fffcd488fae34f8eb5d6",
      "parents": [
        "42350812ce4f5c85aacd4ea8ad5fbe4b79543607"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jul 05 12:08:34 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 10 20:10:07 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch: avoid bogus hash in go.sum for missing go.mod file\n\nThe code inadventently recorded lines in go.sum as if an empty go.mod file\nexisted when no go.mod file existed at all. This results in many lines in go.sum\nfor go.mod of non-modules (like misspellings of module paths or packages\nwithin modules).\n\nStop doing that, and clean up the mess in existing go.sum files.\n\nChange-Id: I9d64810dffd5378c9785566255b39d56eba673e3\nReviewed-on: https://go-review.googlesource.com/122395\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "42350812ce4f5c85aacd4ea8ad5fbe4b79543607",
      "tree": "f395575b601528fa5c5ea7243a9e3082fe16c66a",
      "parents": [
        "e09f370e15ff9e622805115fe3fd3eddecea77dc"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jul 04 22:12:26 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 10 20:10:03 2018 +0000"
      },
      "message": "cmd/go: eliminate mentions of \"vgo\"\n\n\"vgo\" is the name for the prototype/demo of Go module support.\nWhat\u0027s merged into the Go toolchain needs to be \"module support\",\nnot a new tool (\"vgo\").\n\nIn preparation for that merge, remove uses of the name \"vgo\".\nThe tool will be just \"go\" again soon.\n\nA few mentions of vgo remain, most notably in test repository names.\nThose are OK to keep.\n\nChange-Id: I7529860b430e9ce4b3e17f1bbb002df2f3ca76d6\nReviewed-on: https://go-review.googlesource.com/122264\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "e09f370e15ff9e622805115fe3fd3eddecea77dc",
      "tree": "dc21172392e1d19a22d8ef4fb7b91ea3905a66f4",
      "parents": [
        "9e3664f84a2d2214328e945a0130e7ef83d60d4d"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jul 04 21:43:51 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 10 20:09:59 2018 +0000"
      },
      "message": "cmd/go/internal/vgo: rename to cmd/go/internal/modload\n\nThis package is now mostly concerned with being a replacement\nfor cmd/go/internal/load, so rename to cmd/go/internal/modload.\n\nPart of de-vgo-ification.\n\nChange-Id: I0f28562a1f1a92226abd366a87936d93f16b35d4\nReviewed-on: https://go-review.googlesource.com/122263\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "9e3664f84a2d2214328e945a0130e7ef83d60d4d",
      "tree": "6efc56669000afde455f6eb7e989e732da532508",
      "parents": [
        "991640928c1dc69ef6236ff19eb2948072c7b014"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jul 04 21:26:44 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 10 20:09:55 2018 +0000"
      },
      "message": "cmd/go/internal/modget: move vgo.CmdGet implementation to modget.CmdGet\n\nThere are no semantic changes here.\nThe only diffs in the copied code are adjustments to refer\nback to (sometimes newly exported) identifiers left behind\nin package vgo.\n\nChange-Id: I65cbbb70e2e8d280bc7899d6009865e7aca1dde7\nReviewed-on: https://go-review.googlesource.com/122262\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "991640928c1dc69ef6236ff19eb2948072c7b014",
      "tree": "bf86abdbb5190a09030de38df5c56f43a35a126d",
      "parents": [
        "2f9474bbbce5a8d318444070c8b6765441dfd366"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jul 04 00:54:31 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 10 20:09:51 2018 +0000"
      },
      "message": "cmd/go: rename all module tests to begin TestMod[A-Z]\n\nRename vgo_test.go to mod_test.go.\nPart of the de-vgo-ification of the tree\nand also to make it easier to run module tests\n(go test -run\u003dTestMod[A-Z]).\n\nChange-Id: If4087787fc39789ec1de9e63fc8871e4206bae48\nReviewed-on: https://go-review.googlesource.com/122261\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "2f9474bbbce5a8d318444070c8b6765441dfd366",
      "tree": "0aa63e1bd6d9a6f0497d294a75caca4dad9d7324",
      "parents": [
        "cdd82a7bc7c6d7c407792afe279ed74331335370"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jul 04 00:28:41 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 10 20:09:48 2018 +0000"
      },
      "message": "cmd/go/internal/vgo: adjust \u0027module mode enabled\u0027 decision\n\nThis new implementation matches the recently-written help docs, which say:\n\nFor more fine-grained control, the module support in Go 1.11 respects\na temporary environment variable, GO111MODULE, which can be set to one\nof three string values: off, on, or auto (the default).\nIf GO111MODULE\u003doff, then the go command never uses the\nnew module support. Instead it looks in vendor directories and GOPATH\nto find dependencies; we now refer to this as \"GOPATH mode.\"\nIf GO111MODULE\u003don, then the go command requires the use of modules,\nnever consulting GOPATH. We refer to this as the command being\nmodule-aware or running in \"module-aware mode\".\nIf GO111MODULE\u003dauto or is unset, then the go command enables or\ndisables module support based on the current directory.\nModule support is enabled only when the current directory is outside\nGOPATH/src and itself contains a go.mod file or is below a directory\ncontaining a go.mod file.\n\nThe global -vgo flag is removed in favor of the environment variable.\n\nChange-Id: I935466cb5cd6825a5c6926d012eab2cb74bb2832\nReviewed-on: https://go-review.googlesource.com/122260\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "cdd82a7bc7c6d7c407792afe279ed74331335370",
      "tree": "dfb3703bbd0f7e19fe37715b5afe2ea151cfc8b4",
      "parents": [
        "7e8a4e905700cb0043df56d42211e121276bc25b"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jul 04 00:28:10 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 10 05:41:55 2018 +0000"
      },
      "message": "cmd/go/internal/load: disallow import of mod/...\n\nIf that import succeeded it would address the module cache.\n\nChange-Id: I3aaa0764c1cdcb1f7099b266edb2d56f53fda489\nReviewed-on: https://go-review.googlesource.com/122259\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "7e8a4e905700cb0043df56d42211e121276bc25b",
      "tree": "c7e70009044fd297c998e7107760a8ac79ca7b17",
      "parents": [
        "82564712d90d4d28fbdbf71b1d298c4f29fb0d6c"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Mon Jul 02 20:47:41 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 10 05:41:51 2018 +0000"
      },
      "message": "cmd/go/internal/vgo: add \u0027go help modules\u0027\n\nFixes golang/go#24158.\n\nChange-Id: I4d61113d82aad106f41f0d26484c4c518d4161eb\nReviewed-on: https://go-review.googlesource.com/122258\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "82564712d90d4d28fbdbf71b1d298c4f29fb0d6c",
      "tree": "30971950c1fd93894fa71536676faddc4f50c77b",
      "parents": [
        "56d8e7cab446c164a8c765e6bf94c69e0aec7ebf"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 03 23:06:52 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 10 05:41:48 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch: clean up Query\n\nClean up module query notation to make it easier to explain.\n\nApply a suggestion from Bryan in the previous CL to apply\nthe preference for releases (not pre-releases) to all queries,\nnot just \"latest\".\n\nChange \"v1\" to mean \"the latest v1.x.x\" not \"v1.0.0\".\nChange \"v1.2\" to mean \"the latest v1.2.x\" not \"v1.2.0\".\nThere was a TODO about checking for a tag/branch named v1,\nbut using the latest tagged v1.x.x release seems better than\ntaking the last commit (possibly untagged) from a branch\nanyway.\n\nAdd \u003c\u003d and \u003e\u003d operators instead of misintepreting them\nas \u003c and \u003e with malformed semantic versions.\n\nGiven that \"v1\" and \"v1.2\" now essentially address a wide range\nof values, disallow ambiguous \u003c\u003dv1, \u003c\u003dv1.2, \u003ev1, and \u003ev1.2.\n\nAdd test.\n\nChange-Id: I97a39c5a468ee710a19b587c46d1821f03d76acd\nReviewed-on: https://go-review.googlesource.com/122257\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "56d8e7cab446c164a8c765e6bf94c69e0aec7ebf",
      "tree": "df034dc3ba61441acd726ea6ac71671aab3c8f37",
      "parents": [
        "4798edcf501e7f001e1d25f07ad0bb523be43ea6"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 03 12:54:06 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 10 05:41:44 2018 +0000"
      },
      "message": "cmd/go/internal/modcmd: drop test sources and data from mod -vendor\n\nThe module support redefines the package pattern \"all\" to mean\nall packages in the main module, plus their dependencies and\ntest dependencies, recursively. The idea was to make \"go test all\"\nuseful: it tests everything in the main module plus everything\nthe main module depends on, and so on. A complex project\nis probably creating a combination of dependency versions\nthat has never existed before, so it is only prudent to make it\neasy to test those dependencies in that configuration.\n\nThe vendor operation also applies to that same \"all\" set of packages.\n\nBut vendoring is freezing a combination that you\u0027re happy\nwith and hopefully have already tested. At that point the rationale\nfor including all the tests of dependencies is weakened, and\nthere is a significant space savings to not copying them (and\npossibly-large associated test data) into the vendor directory.\n\nThis CL changes vendor to apply to all packages in the main\nmodule, plus the (direct and indirect) dependencies of those\npackages and their tests. Vendor no longer copies *_test.go into\nthe repo at all, nor the packages imported by those source files\nand not imported otherwise.\n\nAlso copy legal files (LICENSE etc) when vendoring.\n\nFixes golang/go#25672.\n\nChange-Id: I0713d4c751145df827460707e4085801fffa2a51\nReviewed-on: https://go-review.googlesource.com/122256\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "4798edcf501e7f001e1d25f07ad0bb523be43ea6",
      "tree": "a433984dc634dc75795cb470b79f6a09fead1e78",
      "parents": [
        "55e12a55e7817c9ce39bc482e128ab8fbc5e0c07"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Mon Jul 02 12:13:57 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 10 05:41:40 2018 +0000"
      },
      "message": "cmd/go/internal/modget: add help text for module-aware get design\n\nThis CL is only the description of the design.\nA followup CL will implement it and then delete the old\nmodule-aware get implementation (in cmd/go/internal/vgo/get.go).\n\nChange-Id: I06a17b80488ca0052a75fad175178d9f4e8152d8\nReviewed-on: https://go-review.googlesource.com/121918\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "55e12a55e7817c9ce39bc482e128ab8fbc5e0c07",
      "tree": "fcbed52278572ab9139fe65e4b8f97449a5607e3",
      "parents": [
        "f8eadfe13759cbc383e698c99f9645e9ddc4c578"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Mon Jul 02 20:45:13 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 10 05:41:36 2018 +0000"
      },
      "message": "cmd/go/internal/list: add list -m -versions\n\nThe new -versions flag gives access to the list of available versions\nof a given module.\n\nChange-Id: I618aae3cfc682597c0c01b7f975644a6a9207c04\nReviewed-on: https://go-review.googlesource.com/122075\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "f8eadfe13759cbc383e698c99f9645e9ddc4c578",
      "tree": "0e05a870571e0b5cd58cd290fc1e0837db8fcd72",
      "parents": [
        "75bf837fad657f1d1f8e5036cec4e7b53fb3f3dc"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Sat Jun 30 22:19:18 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 10 05:41:33 2018 +0000"
      },
      "message": "cmd/go/internal/modfile: add new requires to end of file\n\nThe old behavior was to add new requires to the first require statement in the file.\n\nIf there\u0027s more than one statement, though, it\u0027s more convenient for the first N-1\nto be the manually maintained ones and then have the (possibly large) auto-maintained\nblock at the end of the file, instead of putting the manually maintained statements\nafter a giant auto-maintained one.\n\nSuggested by Bryan Mills in an earlier CL, and works better for some real use cases.\n\nChange-Id: I17a1704ca459c8cb5536dc23997bbacc3cd997eb\nReviewed-on: https://go-review.googlesource.com/121859\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "75bf837fad657f1d1f8e5036cec4e7b53fb3f3dc",
      "tree": "a0e8857cc735e6b4afc7167e797f80ed15e825a2",
      "parents": [
        "83e9c51bbdc1693d1cb1a24696809f992fe1aad8"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Sat Jun 30 22:12:49 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 10 05:41:29 2018 +0000"
      },
      "message": "cmd/go/internal/vgo: prefer module path from Godeps/Godeps.json over GOPATH\n\nThe entry in Godeps/Godeps.json is explicitly what we\u0027re looking for:\nthe import path of the root directory.\n\nThe logic about deriving a module path from the current directory\u0027s\nlocation in GOPATH should usually match, but it\u0027s less a direct statement:\nfor example, maybe a fork has been checked out.\n\nIf the two disagree, prefer Godeps/Godeps.json\u0027s explict statement.\n\nChange-Id: I439684f5d34eeaf41419bbdae82139ba79498f6c\nReviewed-on: https://go-review.googlesource.com/121858\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "83e9c51bbdc1693d1cb1a24696809f992fe1aad8",
      "tree": "69f41718573176c0a71e53f5391a67dece641487",
      "parents": [
        "552f8db34257fd0182aa02302bc29db1aeef7370"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 29 16:14:09 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 10 05:41:25 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch: translate commit hashes to known tags during stat\n\nFor convenience on the command line, and also when translating\nexisting dependency management metadata, we accept commit hashes\nor other references and translate them into proper semantic versions.\nTo date, that conversion has always used a pseudo-version.\nBut since we are talking to the code repo to look up the commit,\nwe might as well check it against known tags and use one of those\nif possible. So for example\n\n\tgo get rsc.io/quote@23179ee\n\nused to add \"rsc.io/quote v0.0.0-20180214005840-23179ee8a569\" to go.mod.\nBut that commit is tagged v1.5.1, so now the same command records the version\nas v1.5.1 instead.\n\nChange-Id: I274c3ef914c758e6e0e9f8f6cfad23062600a918\nReviewed-on: https://go-review.googlesource.com/121857\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "552f8db34257fd0182aa02302bc29db1aeef7370",
      "tree": "f7b3efe46acd3bd90a7644035d80948c4deb06eb",
      "parents": [
        "6296b2fcad5a38b9d9fab92b47353c9c9ded582f"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jun 28 00:23:14 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 10 05:41:21 2018 +0000"
      },
      "message": "cmd/go/internal/vgo: track directly-used vs indirectly-used modules\n\nA cleanup pass in mvs.BuildList discards modules that are not reachable\nin the requirement graph as satisfied for this build. For example, suppose:\n\n\tA -\u003e B1, C1\n\tB1 -\u003e D1\n\tB2 -\u003e nothing\n\tC1 -\u003e nothing\n\tD1 -\u003e nothing\n\tD2 -\u003e nothing\n\nThe effective build list is A, B1, C1, D1 (no cleanup possible).\n\nSuppose that we update from B1 to B2. The effective build list\nbecomes A, B2, C1, D1, and since there is no path through those\nmodule versions from A to D, the cleanup pass drops D.\n\nThis cleanup, which is not in https://research.swtch.com/vgo-mvs,\naims to avoid user confusion by not listing irrelevant modules in\nthe output of commands like \"vgo list -m all\".\n\nUnfortunately, the cleanup is not sound in general, because\nthere is no guarantee all of A\u0027s needs are listed as direct requirements.\nFor example, maybe A imports D. In that case, dropping D and then\nbuilding A will re-add the latest version of D (D2 instead of D1).\nThe most common time this happens is after an upgrade.\n\nThe fix is to make sure that go.mod does list all of the modules\nrequired directly by A, and to make sure that the go.mod\nminimizer (Algorithm R in the blog post) does not remove\ndirect requirements in the name of simplifying go.mod.\n\nThe way this is done is to annotate the requirements NOT used\ndirectly by A with a known comment, \"// indirect\".\n\nFor example suppose A imports rsc.io/quote. Then the go.mod\nlooks like it always has:\n\n\tmodule m\n\n\trequire rsc.io/quote v1.5.2\n\nBut now suppose we upgrade our packages to their latest versions.\nThen go.mod becomes:\n\n\tmodule m\n\n\trequire (\n        \t\tgolang.org/x/text v0.3.0 // indirect\n        \t\trsc.io/quote v1.5.2\n        \t\trsc.io/sampler v1.99.99 // indirect\n        \t)\n\nThe \"// indirect\" comments indicate that this requirement is used\nonly to upgrade something needed outside module m, not to satisfy\nany packages in module m itself.\n\nVgo adds and removes these comments automatically.\nIf we add a direct import of golang.org/x/text to some package in m,\nthen the first time we build that package vgo strips the \"// indirect\"\non the golang.org/x/text requirement line. If we then remove that\npackage, the requirement remains listed as direct (the conservative\nchoice) until the next \"vgo mod -sync\", which considers all packages\nin m and can mark the requirement indirect again.\nAlgorithm R is modified to be given a set of import paths that must\nbe preserved in the final output (all the ones not marked // indirect).\n\nMaintenance of this extra information makes the cleanup pass safe.\n\nSeeing all directly-imported modules in go.mod\nand distinguishing between directly- and indirectly-imported modules in go.mod\nare two of the most commonly-requested features,\nso it\u0027s extra nice that the fix for the cleanup-induced bug\nmakes go.mod closer to what users expect.\n\nFixes golang/go#24042.\nFixes golang/go#25371.\nFixes golang/go#25969.\n\nChange-Id: I4ed0729b867723fe90e836c2325f740b55b2b27b\nReviewed-on: https://go-review.googlesource.com/121304\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "6296b2fcad5a38b9d9fab92b47353c9c9ded582f",
      "tree": "28f0c0fc517d4bac38261f6ab942c8dc8219ae0d",
      "parents": [
        "8a71b2bd9c54c265c37322f928113c849582486b"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 22 12:08:49 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jul 10 05:41:16 2018 +0000"
      },
      "message": "cmd/go/internal/vgo: load packages in parallel\n\nThis is a large CL. The best way to read it is probably to treat\nvgo/load.go as if it were a newly-written file, not by reading diffs.\n\nThe main motivation here is to do package loading in parallel,\nincluding the on-demand downloading of dependency zip files.\nRunning the load in parallel requires making the structure a bit\ncleaner than it was before: the old recursive traversal could\nretraverse sections of the graph if it decided that now it needed\ntests and their dependencies, and so on. To parallelize, the work\nhad to be split up into items visited exactly once, and the result\nis a bit cleaner.\n\nMost of vgo/search.go has been absorbed into load.go\u0027s ImportPaths.\nPreviously, there was an odd recursion where ImportPaths\u0027s loader\ncallback could call into MatchAll/MatchALL, which created and ran\na new loader before returning back to the original loader\u0027s callback.\nThe new structure more properly expresses the dependency of\nthe loader on matching, which in turn depends on the current state\nof the loader (namely buildList).\n\nThe magic \"ALL\" package pattern is gone. Code that needs that\nfunctionality now has a proper entry point (vgo.LoadALL).\n\nFinally, isolate all the \"what happened?\" loader state consulted\nafter the fact into a single struct. The build list remains separate,\nat least for now.\n\nThe cleaner structure sets us up well for the next CL.\n\nFixes golang/go#25162.\n\nChange-Id: I963f0effd7314f7e77eaad058774dbd2586c9cd2\nReviewed-on: https://go-review.googlesource.com/121303\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "8a71b2bd9c54c265c37322f928113c849582486b",
      "tree": "6ac173649ea9929d0d31b83d934fad315ce66717",
      "parents": [
        "6cd5a417451d8ee907692eded07ef1b6b53825b1"
      ],
      "author": {
        "name": "Baokun Lee",
        "email": "nototon@gmail.com",
        "time": "Mon Jul 02 01:49:51 2018 +0800"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jul 06 18:45:24 2018 +0000"
      },
      "message": "cmd/go: fix TestModSyncPrintJson test\n\nChange-Id: I043150aac08014f6e68c4b4d75d8f9cb59b458ca\nReviewed-on: https://go-review.googlesource.com/121880\nRun-TryBot: Baokun Lee \u003cnototon@gmail.com\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "6cd5a417451d8ee907692eded07ef1b6b53825b1",
      "tree": "a6ef0c560c2214697d53046f88bd4578bc58e2dd",
      "parents": [
        "47daa39e820cb74d4206b6cd6c3a8f97a2f86086"
      ],
      "author": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Mon Jul 02 16:43:34 2018 -0400"
      },
      "committer": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Mon Jul 02 21:05:42 2018 +0000"
      },
      "message": "cmd/go/internal/modcmd: use the correct path in verifyMod\n\nFixes golang/go#26151.\n\nChange-Id: Ibeefb1fad063bbec4085284cee39ee337a37d22d\nReviewed-on: https://go-review.googlesource.com/121975\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "47daa39e820cb74d4206b6cd6c3a8f97a2f86086",
      "tree": "93f6960a8d4749c85b2e056c27c8fdbbe6c798e8",
      "parents": [
        "0e237a44ca5947b2341c0bf9d0b515f80808a832"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Mon Jun 25 22:49:39 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Mon Jul 02 00:47:08 2018 +0000"
      },
      "message": "cmd/go/internal/vgo: change get -u to avoid downgrades, prereleases\n\nModule requirements should typically be stated in terms of tagged\nversions, like v1.2.3. But for both bootstrapping and debugging, it is\nalso possible to refer to specific commits using pseudoversions of the\nform v0.0.0-yyyymmddhhmmss-abcdefabcdef, where abcdefabcdef is a\nrevision identifier (a commit hash for git repos).\n\nThese pseudoversions are valid semantic versions but chosen so that\nthey sort below any tagged version: if one part of a build wants a\ntagged version and another part wants a pseudoversion, we explicitly\nwant the tagged version to take priority, so that a dependency deep in\nyour build cannot force it into compiling against a random commit\ninstead of a released (tagged) commit.\n\nBut this same fact, that pseudoversions sort before tagged versions,\nconfuses \"vgo get -u\". If the build is using a pseudoversion of a\ncommit from earlier today, it makes no sense for \"vgo get -u\" to\n\"update\" to a latest tagged version that happens to be from last week.\nThis CL changes \"vgo get -u\" to avoid this kind of accidental downgrade.\nBut if the latest tagged version was committed after the current\npseudoversion, then it\u0027s OK to upgrade to that tagged version.\n\nNow that we can make the effect of \"vgo get -u\" context-dependent,\ntreat prereleases similarly: never choose to upgrade to a prerelease,\nbut if we\u0027re using a prerelease newer than the latest tagged\nnon-prerelease, stay there instead of downgrading.\n\nThis fixes \"vgo get -u\" for many real repos, especially ones that\nmust use pseudoversions to get at, say, non-module v17.0.0\nof a dependency. Without this logic, \"vgo get -u\" would rewind\nto the latest v1, which might be much older.\n\nChange-Id: Ie9656b78dc6cc326048921898288dcf588441bf5\nReviewed-on: https://go-review.googlesource.com/121000\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "0e237a44ca5947b2341c0bf9d0b515f80808a832",
      "tree": "e95d55702579615828f0da8446f92696ca92e85e",
      "parents": [
        "bbcfaa0c1b10a3e580b80b1d575ce55054b80a23"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 29 16:21:53 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 29 20:35:29 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch: ignore missing ziphash files in build\n\nFixes golang/go#26127.\n\nChange-Id: I03d52f057ce3861bd070c4b0a9fb85ceb494088e\nReviewed-on: https://go-review.googlesource.com/121659\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"
    },
    {
      "commit": "bbcfaa0c1b10a3e580b80b1d575ce55054b80a23",
      "tree": "47df9fcc380e1ec6c69c0ca85f78b7122380f6a9",
      "parents": [
        "1d3e6141fcb3b8adaf02512d0c049a7aa5e386b4"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jun 27 22:39:09 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 29 04:23:34 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch: always create and update go.sum\n\nIn the original vgo prototype, the go.modverify (now go.sum)\nfeature was opt-in: if you created the file, it was updated and\nchecked, but if the file didn\u0027t exist, vgo didn\u0027t create it.\n\nAfter this CL, vgo will create the go.sum file automatically\n(once there is a dependency to record). There is no way to\nopt out.\n\nIf this turns out to be a problem for users for some reason,\nwe will change it back to being opt-in. But now is the time to\nexperiment.\n\nFixes golang/go#25525.\n\nChange-Id: I1d1ee68da329d60cb8e2c8d76de96171d69f8e33\nReviewed-on: https://go-review.googlesource.com/121302\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "1d3e6141fcb3b8adaf02512d0c049a7aa5e386b4",
      "tree": "59c5dc1dbc8fd20345888f3b7de3181bc46151e8",
      "parents": [
        "cd1f2ee17589ba3f7f17471441f18612f864e850"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jun 27 16:39:56 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 29 04:14:05 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch: check go.mod content using go.sum\n\ngo.sum (formerly go.modverify) already contains lines like\n\n\tgithub.com/pkg/foo v1.2.3 h1:hashhashhashhashhash\n\nwhere the hash is a checksum over the whole file tree of the module.\nAfter this CL, it will also contain lines like:\n\n\tgithub.com/pkg/foo v1.2.3/go.mod h1:hashhashhashhashhash\n\n(note the /go.mod suffix on the version), where the hash is a checksum\nover the one-file tree containing only the go.mod for that module.\nThis hash is recorded even for auto-generated go.mod files,\nbecause no matter how it arises, the exact go.mod is important\nfor later reproducibility.\n\nFixes golang/go#25526.\n\nChange-Id: Ib0ff32f45dd30421907f3ba181db726c7ac9379c\nReviewed-on: https://go-review.googlesource.com/121301\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "cd1f2ee17589ba3f7f17471441f18612f864e850",
      "tree": "54e91141e6b71cae2ee13e19c729031ef7abedf7",
      "parents": [
        "06e664301cec279012e90c60689c5ad4e11fd3f1"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Mon Jun 25 22:08:48 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 29 04:13:28 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch: disable go.mod conversion for transitive deps\n\nEarlier dependency management tools (dep, glide, godeps, and so on)\nall wrote some kind of lock file saying which version of each\ndependency had been (or should be) copied into the vendor directory.\nWhen invoked in a new repo without a go.mod file, vgo can initialize\ngo.mod by converting a lock file from one of those earlier systems.\n\nA key part of the design of Go modules (inherited from dep and others)\nis the automatic incorporation of constraints from dependencies into\nthe top-level build, so that if A requires B, then A/go.mod and\nB/go.mod both have an effect on the versions chosen for A\u0027s build.\n\nBecause of the auto-conversion, I thought of files like Gopkg.lock as\nbeing like \"go.mod in different syntax\", and so if A requires B and\nthere\u0027s no B/go.mod but there is a B/Gopkg.lock, then the\nauto-converted B/Gopkg.lock gets used as if it were B/go.mod.\n\nOn further consideration, this is too much to ask of the conversion.\nStop.\n\nif A requires B, both have Gopkg.lock but not go.mod, and we\u0027re\nworking in the repo for A, then it\u0027s fine to use A/Gopkg.lock to\ncreate an initial A/go.mod. If there are problems with the A/go.mod,\nwe can edit that file to fix them. It\u0027s not fine to use B/Gopkg.lock\nto create an effective B/go.mod for use during the build.\nIf there are any problems with the conversion in B, there is no\nway for us (working on A) to override it.\n\nTypical problems include:\n\n1. Lock files that have not been properly pruned, resulting in\nspurious dependencies.\n\n2. Module requirement cycles are impossible to express\nwhen using commit hashes as identifiers. Instead \"tailspins\"\nhave been recorded instead.\n\nBecause the lock files being used as the source for the\nauto-conversion all include transitive dependencies anyway,\nconverting A/Gopkg.lock should suffice anyway.\n\nMove conversion code (still used for main module)\nout of modfetch into modconv.\n\nChange-Id: I45e33345a38a60f3c4a1eba166150ee1a66e5816\nReviewed-on: https://go-review.googlesource.com/120999\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "06e664301cec279012e90c60689c5ad4e11fd3f1",
      "tree": "54a743d561c6e1c3e62ad9eace86e3a1b96addd6",
      "parents": [
        "949a6b32ca558316b94dacf727cac9e55ccae3f0"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jun 27 15:31:18 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 29 04:12:47 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch: vgo.fetch becomes modfetch.Download\n\nRefactoring so that all the cache directory management is in package modfetch.\n\nWhile here, rename go.modverify to go.sum,\nin preparation for forcing go.sum checking on\nall the time.\n\nVgo will automatically move content from\ngo.modverify into go.sum when it sees it.\n\nFor golang/go#25525.\n\nChange-Id: Id03286d52ca4923b35ac14b639e5885571397bba\nReviewed-on: https://go-review.googlesource.com/121298\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "949a6b32ca558316b94dacf727cac9e55ccae3f0",
      "tree": "1e58cd966ded38c7606b2dc1908417434cc60d29",
      "parents": [
        "cdcca9fc06483256aea30858cab4946121181501"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jun 21 00:43:11 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 29 04:09:56 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch/codehost: add general vcs support\n\nAdd support for code fetch from bzr, fossil, hg, svn repositories.\nTable-driven in a similar manner to old go get, but a different\noperation set, so different code.\n\nThe git support remains a separate, special case, making use of\ngit-specific optimizations that wouldn\u0027t fit into the general\nframework being introduced for the other version control systems.\n\nNow vgo can handle launchpad.net/gocheck and bitbucket.org/ww/goautoneg.\n\nSupport for Subversion zip files remains a TODO (#26092).\n\nChange-Id: I6f296a7f6588df08d48b39b98fe255d9b07c76d0\nReviewed-on: https://go-review.googlesource.com/120998\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "cdcca9fc06483256aea30858cab4946121181501",
      "tree": "13e0502ad0217650e26024a72222ec2f8bd741ab",
      "parents": [
        "847ddc7fc16659313d23e1d60d648a83b8c543e9"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jun 27 09:47:13 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 29 03:42:31 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch/googlesource: delete\n\nThis should have been deleted in CL 107657. Unused.\n\nChange-Id: Ib3c291732b3f12759a29d994c338191c8b39ba07\nReviewed-on: https://go-review.googlesource.com/121297\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "847ddc7fc16659313d23e1d60d648a83b8c543e9",
      "tree": "09a16045eba4194f48e9d36d5bf2d18e9a250c35",
      "parents": [
        "1031f523bca8b37c114fe1ee5b7241d098f87f63"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Sat Jun 23 16:29:15 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 29 03:42:23 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch/codehost: merge gitrepo\n\nPreparation for implementing other access mechanisms,\nwhich share enough functionality to live in package codehost.\nGit will still be a special, somewhat more optimized, case\ncompared to the other repository types, but they might as well\nall be in a single package.\n\nChange-Id: I82cfaa8843daf2c07b558b9ae10901f72b4ad1e2\nReviewed-on: https://go-review.googlesource.com/120997\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "1031f523bca8b37c114fe1ee5b7241d098f87f63",
      "tree": "cf6e1795b52256a1da9aede8cb7e2ef03f02389e",
      "parents": [
        "53cf99f54ff9eb693554963f6efa9c493a0aa218"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jun 26 21:04:59 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 29 03:42:06 2018 +0000"
      },
      "message": "cmd/go: ignore wildcard-matched test-only packages in go build\n\nIt makes sense to be able to cd into the top of a directory tree\nand run commands like:\n\n\tgo list ./...\n\tgo test ./...\n\tgo build ./...\n\tgo install ./...\n\nSome packages have no tests. Some packages have only tests (no code).\nWhile go list applies to both kinds of packages, and go test correctly\nhandles packages without tests, go build and go install reject packages\nwith only tests.\n\nIf you run\n\n\tgo install testonlypkg\n\nthen it does seem reasonable to fail with an error, since testonlypkg\ncannot actually be installed. But if testonlypkg was only picked up\nby wildcard expansion, then to keep the examples above working,\nwe should just silently skip over it during go build and go install.\n\nCL 23314 fixed this same problem for \"go get golang.org/x/tour/...\"\nbut special-cased \"go get\", leaving \"go build\" and \"go install\" failing.\n\nThis CL fixes the general case and removes the \"go get\" special case.\n\nPicked this up in module work because I\u0027m using \"go build ./...\" as part\nof evaluating whether repos are compatible with Go modules.\n\nFixes golang/go#20760.\nFixes golang/go#22409.\n\nChange-Id: I5caaa6a346a5d07a7ad9e2669e89da76b397dc42\nReviewed-on: https://go-review.googlesource.com/121196\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "53cf99f54ff9eb693554963f6efa9c493a0aa218",
      "tree": "c3e89fdceccffd11986501b35d274a538eb9b865",
      "parents": [
        "50f6c296122ef0ed73505570485dd6669366c18f"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jun 20 16:43:10 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 29 03:41:33 2018 +0000"
      },
      "message": "cmd/go/internal/vgo: allow vgo get of module with no package in root\n\nHistorically \"go get\" has meant both \"download these packages\" and\n\"install these packages\". For example \"go get rsc.io/github/issue\"\ndownloads that package but also builds and installs it (into $GOBIN/issue).\nSimilarly \"go get golang.org/x/text/number\" downloads, builds, and\ninstalls that package (not a package main).\n\nIf one needs to just download a whole repo, it has always tripped\nup users that \"go get golang.org/x/text\" fails, because there are no\nGo source files in that directory (the root of that repo, it turns out).\n\nGo modules compound this problem, because it is quite natural\nto want to run \"go get golang.org/x/text@v0.1.0\" to add (or to\nupgrade or downgrade to) that specific version of golang.org/x/text.\n\nThis CL changes \"go get\" to make this common usage not an error:\nif the path is successfully identified as a directory within a known\nmodule, then if there\u0027s no code there, \"go get\" just skips the\n\"build and install\" step, instead of reporting an error.\nThis way, command installations like \"go get rsc.io/github/issue\"\ncontinue to work, but now module installations like \"go get golang.org/x/text\"\nor \"go get golang.org/x/text@v0.1.0\" also now succeed.\n\nFixes golang/go#24008.\n\nChange-Id: I977ab448bc13a4391e85f63052b8373e30f77026\nReviewed-on: https://go-review.googlesource.com/120995\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "50f6c296122ef0ed73505570485dd6669366c18f",
      "tree": "aa37eda4d36fd896befeaa7241a5da1ac5885c93",
      "parents": [
        "db7cbb04d7631d4d1cb7321fffdf050d31a2a656"
      ],
      "author": {
        "name": "Baokun Lee",
        "email": "nototon@gmail.com",
        "time": "Sun Jun 24 04:34:55 2018 +0800"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 29 00:38:04 2018 +0000"
      },
      "message": "cmd/go/internal/modfile: fix producing unquoted module path duplicates\n\nThe function `strconv.Unquote`  will return an error if we pass a\nunquoted string, so SetRequire produces duplicates.\n\nFixes golang/go#25972\n\nChange-Id: I824519a7a2d602babefd0c2c2f8b2a0f72e99f32\nReviewed-on: https://go-review.googlesource.com/120656\nRun-TryBot: Baokun Lee \u003cnototon@gmail.com\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "db7cbb04d7631d4d1cb7321fffdf050d31a2a656",
      "tree": "eea0eb8f8eb022611fc61b3728cf971c387434ed",
      "parents": [
        "9a43f146dfbdd0a39ff13e6425a73d2751c2ef06"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jun 27 21:03:40 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jun 28 01:21:29 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch/gitrepo: fix fetch of tags\n\nThis is apparently another Gerrit/JGit bug:\nfetch -t is supposed to be shorthand for\nincluding refs/tags/*:refs/tags/* on the\ncommand-line, but not for go.googlesource.com.\nAvoid -t.\n\nChange-Id: I3e6264f7cbaf3e41fa248ca7f50846ef6f4a8a02\nReviewed-on: https://go-review.googlesource.com/121299\nRun-TryBot: Russ Cox \u003crsc@golang.org\u003e\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "9a43f146dfbdd0a39ff13e6425a73d2751c2ef06",
      "tree": "708af43b76d019a5ffbb5ce2e8a7c6330e5224ce",
      "parents": [
        "97ff4ad34612eed56f1dc6c6aaee19617e45e2be"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jun 13 09:46:17 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jun 27 18:58:28 2018 +0000"
      },
      "message": "cmd/go/internal/list: add module support\n\nThis CL changes the clumsy hard-coded \"list -m\" and \"list -m -u\"\nwith a real template-based implementation analogous to what we\ndo for listing packages. (In fact it reuses most of the package\nimplementation.) See the documentation for more details.\n\nThe main visible changes compared to the original vgo are:\n\n- \"vgo list -m\" is now \"vgo list -m all\".\n- \"vgo list -m -u\" is now \"vgo list -m -u all\".\n- The default output is no longer a fixed-width-aligned table.\n- The output no longer has COLUMN HEADERS.\n- \"vgo list -m -json [all]\" now works.\n\nFixes golang/go#24347.\nFixes golang/go#25360.\n\nChange-Id: Ie6a677875abca876ae334c8554298d3c56076b94\nReviewed-on: https://go-review.googlesource.com/120198\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "97ff4ad34612eed56f1dc6c6aaee19617e45e2be",
      "tree": "58a0744dc94caa1e473272537cb722148f50de26",
      "parents": [
        "1b96834c2946460ab74b529df6b753fc0a03f628"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jun 20 12:19:38 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jun 27 18:58:24 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch: fix Lookup, Import; add ImportRepoRev\n\n- Explain Lookup and Import, module paths vs import paths.\n\n- Add ImportRepoRev, because neither Lookup nor Import\n  is appropriate for translating legacy versioning system configs.\n  There\u0027s more to do in ImportRepoRev, but it\u0027s already more\n  accurate than before.\n\n- Drop the old ad-hoc logic about github/bitbucket/etc\n  in favor of resolving source code hosts using the \"go get\" logic.\n  This enables paths like git.apache.org/thrift.git/lib/go/thrift again.\n\n- Structure $GOPATH/src/mod/cache a little more: make separate\n  top-level directories mod/cache/download and mod/cache/vcs.\n\nFixes golang/go#23983.\nFixes golang/go#24687.\nFixes golang/go#25590.\nFixes golang/go#25654.\n\nChange-Id: I0de2d75c5846a1c054079e1c67b9a1100ed161c8\nReviewed-on: https://go-review.googlesource.com/120042\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"
    },
    {
      "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"
    },
    {
      "commit": "0f3e556044ecbd8a0805d098e52a743a1d0e3566",
      "tree": "d65bf5ed6d1df304cf1c90224155ac61e67bf0a8",
      "parents": [
        "48cc2d845c20abc7a0c133d2b4c8e05eef6f4ebe"
      ],
      "author": {
        "name": "Tim Cooper",
        "email": "tim.cooper@layeh.com",
        "time": "Fri Jun 22 17:51:20 2018 -0300"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Sat Jun 23 18:51:10 2018 +0000"
      },
      "message": "cmd/go/internal/modcmd: fix sorting\n\nIntroduced in CL 120197\n\nChange-Id: Ib776ea08efb16c7521430f837f560158d6fed897\nReviewed-on: https://go-review.googlesource.com/120597\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "48cc2d845c20abc7a0c133d2b4c8e05eef6f4ebe",
      "tree": "8fa01624391a7adedb1cb2684649809ab33e4823",
      "parents": [
        "63dca245994429bd8e9d5128655445e9a58d659f"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jun 20 15:45:11 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 22 18:14:47 2018 +0000"
      },
      "message": "cmd/go/internal/modcmd: add mod -graph\n\nmod -graph dumps the requirement graph in text form,\nfor processing by other tools. For example, I wondered\nwhy github.com/moby/buildkit was exploring a very\nold version of Kubernetes:\n\n    $ vgo mod -graph |\n      digraph somepath github.com/moby/buildkit \\\n          k8s.io/kubernetes@v0.0.0-20150821172800-a412f6a67e3a\n    github.com/moby/buildkit\n    github.com/docker/docker@v0.0.0-20180531152204-71cd53e4a197\n    github.com/containerd/containerd@v0.0.0-20180226221259-4ac4fd0b6a26\n    k8s.io/kubernetes@v0.0.0-20180209063429-05944b1d2ca7\n    k8s.io/heapster@v0.0.0-20160819112202-c2ac40f1adf8\n    k8s.io/kubernetes@v0.0.0-20160809133706-301be4eeb561\n    k8s.io/heapster@v0.0.0-20160517121052-9cb18ac0ceb1\n    k8s.io/kubernetes@v0.0.0-20160513071043-4bb30e009782\n    k8s.io/heapster@v0.0.0-20160405141354-de510e4bdcde\n    k8s.io/kubernetes@v0.0.0-20160219000711-644d651c6907\n    k8s.io/heapster@v0.0.0-20160126150510-0991ac528ea2\n    k8s.io/kubernetes@v0.0.0-20151104234216-319baeec5ab5\n    k8s.io/heapster@v0.0.0-20150824215340-0e1b65278181\n    k8s.io/kubernetes@v0.0.0-20150821172800-a412f6a67e3a\n    $\n\nChange-Id: I202bfb9828e07e223eafce44f43c251cf24643b3\nReviewed-on: https://go-review.googlesource.com/120197\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "63dca245994429bd8e9d5128655445e9a58d659f",
      "tree": "14b40063f28acc1d9c8646c51dbdebebec511314",
      "parents": [
        "984ae49b1d037f4aeb9a4d896e6332dd3686cfff"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jun 19 12:50:43 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 22 16:45:26 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch: push codehost.Repo locking down one level\n\nThe modfetch.Repo needs to be safe for use by multiple goroutines,\nbut the codehost.Repo (a source code repository) was not,\nso we added locking around the codehost.Repo methods.\nBut we might reasonably have multiple modfetch.Repos (modules)\ndrawing from a single codehost.Repo, especially if we cache\ncodehost.Repo construction. So push the locking further down.\n\nAfter this CL, it would still be nice to add locking in package\ncodehost on a per-directory basis, so that codehost.Run calls\non a given directory are, or at least can be, serialized,\neven when they are being invoked from different processes.\nTo do that we need to work out the right file locking on each\nsystem, which we\u0027ll put off for now. (TODO added.)\n\n(Git is already doing file locking to make access from multiple\nprocesses safe at the level of individual commands.)\n\nChange-Id: I9ce4ecf8f8b49cabea50b8663e3cee60ff95e7c9\nReviewed-on: https://go-review.googlesource.com/119775\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "984ae49b1d037f4aeb9a4d896e6332dd3686cfff",
      "tree": "9ec7363d9d032758aa94ed3d08c9f44a78f3ae8e",
      "parents": [
        "0ce674985b4c864495dfc7ea144ca7c55e477441"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Mon Jun 18 10:10:01 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 22 16:39:04 2018 +0000"
      },
      "message": "cmd/go/internal/get: export RepoRootForImportPath for use by modfetch\n\nBecause we\u0027ve decided to keep support for the old meta tags\nand hosting repository special cases, it makes sense for\npackage modfetch to import package get to translate an\nimport path to the enclosing repository root.\n\nThis CL exports RepoRootForImportPath from package get\nfor use in package modfetch. It also adjusts the import graph\nto make it possible for modfetch to import get.\nBefore this CL, the graph has get -\u003e load -\u003e vgo -\u003e modfetch,\nso modfetch cannot import get. This CL reverses the load -\u003e vgo\nso that vgo is once again a higher-level package, and then\nthere\u0027s no problem with modfetch importing get.\nEventually some of the details currently isolated to package vgo\nwill move out to the packages that need them, and then we\nwon\u0027t have these awkward func values being set during\ninitialization.\n\nThis CL does not make modfetch import get; it only does the\npreparation necessary to enable that.\n\nChange-Id: I985964c40be3d3e7bd34be9d939c2fb8c76107fd\nReviewed-on: https://go-review.googlesource.com/119675\nRun-TryBot: Russ Cox \u003crsc@golang.org\u003e\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "0ce674985b4c864495dfc7ea144ca7c55e477441",
      "tree": "6ce1c5e4285edca44f61e1e2862d67e23dc4defe",
      "parents": [
        "22ec9a1dc1b6a9aa70d05eba379389492094b1d7"
      ],
      "author": {
        "name": "Daniel Theophanes",
        "email": "kardianos@gmail.com",
        "time": "Fri Jun 15 10:49:35 2018 -0700"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 22 16:24:34 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch: check errors for if file does not exist\n\nThe Repo interface now calls out that for ReadFile if the error\nreports that the requested file does not exist, then os.IsNotExist\nshould return true. Use this information when returning an\nerror message to the user.\n\nThis will help users diagnose errors quicker and more accuratly.\n\nExtracted from https://golang.org/cl/114005\n\nChange-Id: Ifb6122f0e8449c2b5bdad5af6bce1b038a3fe616\nReviewed-on: https://go-review.googlesource.com/119135\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "22ec9a1dc1b6a9aa70d05eba379389492094b1d7",
      "tree": "7764519eab50f4f71f307143c94fb4e2ad2ce7d7",
      "parents": [
        "8e4df33bfaf35cb53b06f50e84b1e8d64f50cdb2"
      ],
      "author": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Mon Jun 18 17:23:11 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 22 16:21:30 2018 +0000"
      },
      "message": "cmd/go/internal/mvs: fix cycles involving the target\n\nSimplify and unify BuildList and UpgradeAll.\n\nFixes golang/go#24103.\n\nChange-Id: Ib1db203fd63b63df661db9294885d8d76f49df8c\nReviewed-on: https://go-review.googlesource.com/119575\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "8e4df33bfaf35cb53b06f50e84b1e8d64f50cdb2",
      "tree": "7c9e5e07aa7d0c9952d1c3fd758d8c622d47774b",
      "parents": [
        "92128ff99928c9bbfecccec83aa523a42315acc7"
      ],
      "author": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Mon Jun 04 18:52:53 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 22 16:06:48 2018 +0000"
      },
      "message": "cmd/go/internal/{module,mvs}: document exported fields and methods\n\nI needed some details about these identifiers in order to understand\nhttps://golang.org/cl/114735, so I\u0027m documenting what I learned for\nfuture reference.\n\nPlease feel free to suggest improvements and/or corrections.\n\nChange-Id: Idf2462fe1ad6c435c8abbb2e69fbfafaca66fcb8\nReviewed-on: https://go-review.googlesource.com/116235\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "92128ff99928c9bbfecccec83aa523a42315acc7",
      "tree": "282d6e8450ceb7cca86caf25ffe9f1a1a2da2e35",
      "parents": [
        "77f3fda7f1fb37f30ab492a5a759c1caae8c412c"
      ],
      "author": {
        "name": "Baokun Lee",
        "email": "nototon@gmail.com",
        "time": "Wed Jun 20 23:10:03 2018 +0800"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 22 16:05:54 2018 +0000"
      },
      "message": "cmd/go/internal/modconv: support conversion preserves replace and exclude statement\n\nNow modconv is only work with the basic cases, we need support\n\"replace\" and \"exclude\" from legacy config.\n\nIn followup CLs, It will preserve replacements from glide and vendor.json.\n\nUpdates golang/go#25556\nUpdates golang/go#24087\n\nChange-Id: Ie5ca8df7f685177afea9cc7affcc6240b38223b5\nReviewed-on: https://go-review.googlesource.com/120075\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "77f3fda7f1fb37f30ab492a5a759c1caae8c412c",
      "tree": "7a829b3afab88619a897bf448ff2d8f191d950f7",
      "parents": [
        "7c2fc82cb05aa4d43934508928d2c75e4b76ce43"
      ],
      "author": {
        "name": "Baokun Lee",
        "email": "nototon@gmail.com",
        "time": "Tue Jun 19 15:36:03 2018 +0800"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 22 15:53:46 2018 +0000"
      },
      "message": "cmd/go: add build flags for get cmd\n\nIn CL 116756, we add \"-x\" flag to show git commands, but we not\ndefine it in get cmd, add all build flags for get cmd.\n\nFixes golang/go#25918\n\nChange-Id: I67ce57721f44c0a84f7dc888034595f3044eb51d\nReviewed-on: https://go-review.googlesource.com/119616\nRun-TryBot: Baokun Lee \u003cnototon@gmail.com\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "7c2fc82cb05aa4d43934508928d2c75e4b76ce43",
      "tree": "2a29289c2342ce82168a821c465e45d20673360b",
      "parents": [
        "9441eaf700138cc9803810f105651ff13e0ea85e"
      ],
      "author": {
        "name": "Baokun Lee",
        "email": "nototon@gmail.com",
        "time": "Mon Jun 11 01:16:20 2018 +0800"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 22 15:45:35 2018 +0000"
      },
      "message": "cmd/go/internal/vgo: fix importDir bug\n\nIf we use \"grpc.go4.org\" as a import path, vgo will see it as a\nstandard import path, and try to find it in GOROOT.\n\nUse search.IsStandardImportPath to fix it.\n\nFixes golang/go#25768\n\nChange-Id: I1dfa50bdbdb15d989b729a06fa44550672523b1a\nReviewed-on: https://go-review.googlesource.com/117715\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\nRun-TryBot: Baokun Lee \u003cnototon@gmail.com\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\n"
    },
    {
      "commit": "9441eaf700138cc9803810f105651ff13e0ea85e",
      "tree": "3778bf5c5b5c59739ef7500908ea3782952f8d83",
      "parents": [
        "ded52389c792066095d943142dbb183c7ae94a0a"
      ],
      "author": {
        "name": "zhoujun",
        "email": "dev.zhoujun@gmail.com",
        "time": "Sat Jun 16 07:19:38 2018 +0800"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 22 15:44:18 2018 +0000"
      },
      "message": "cmd/go/internal/vgo: add missing \"none\" to mvsReqs.Required\n\nThe next version is \"none\" when no newer version.\n\nChange-Id: I5f658b23a47beed74d35afbe0fbde81bdb8ded2f\nReviewed-on: https://go-review.googlesource.com/118559\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "ded52389c792066095d943142dbb183c7ae94a0a",
      "tree": "e036b2387112fc0e5d7be63ea4c68c5951ce5d86",
      "parents": [
        "c07973ea63c163b154225425f63290d022df8650"
      ],
      "author": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Mon Jun 04 19:02:33 2018 -0400"
      },
      "committer": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Thu Jun 21 19:45:47 2018 +0000"
      },
      "message": "cmd/go/internal/vgo: eliminate the redundant isGetU variable\n\nisGetU is invariantly equal to *getU, and both variables are\nunexported and mentioned in the same files: the extra variable adds\nindirection but no apparent abstraction at this point in time.\n\nChange-Id: I0f4d86405732bb9c7efb259ee68fe63f0d1a3ef4\nReviewed-on: https://go-review.googlesource.com/119735\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "c07973ea63c163b154225425f63290d022df8650",
      "tree": "bf191e355ee936efe433f98be91ddb7c2e4e1ebe",
      "parents": [
        "6a502fd348c5df62b02841e99dfd19011657706a"
      ],
      "author": {
        "name": "Baokun Lee",
        "email": "nototon@gmail.com",
        "time": "Tue Jun 19 11:24:29 2018 +0800"
      },
      "committer": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Wed Jun 20 19:58:33 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch: fix cache fails on Windows\n\nAsterisks are not valid in a Windows path. Replace \"*\" with \"-\".\n\nFixes golang/go#25950\n\nChange-Id: Ie6447a0f07cbe371b6807a8e6919547219b60560\nReviewed-on: https://go-review.googlesource.com/119615\nRun-TryBot: Baokun Lee \u003cnototon@gmail.com\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "6a502fd348c5df62b02841e99dfd19011657706a",
      "tree": "3c4e201ad1f08ee8949c9c553ad5f19d7111d76e",
      "parents": [
        "f574d316627652354b92fbdf885a2b2f7ea7dac9"
      ],
      "author": {
        "name": "Ibrahim AshShohail",
        "email": "me@ibrasho.com",
        "time": "Sun Jun 17 16:14:15 2018 +0300"
      },
      "committer": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Wed Jun 20 17:18:52 2018 +0000"
      },
      "message": "cmd/go/internal/modcmd: remove the \"-add\" prefix from \"go mod\" flags\n\nChange-Id: I71da97cbf623c3612c109b789825b238480c8e97\nReviewed-on: https://go-review.googlesource.com/119320\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "f574d316627652354b92fbdf885a2b2f7ea7dac9",
      "tree": "3607947ff005eb90013ef50e5bf3e64cdafba4a6",
      "parents": [
        "5e60d5e8e5005ff423d055b614c5440f37d86dc2"
      ],
      "author": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Fri Jun 15 16:41:09 2018 -0400"
      },
      "committer": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Tue Jun 19 18:28:19 2018 +0000"
      },
      "message": "cmd/go: skip vgo.Init for the version subcommand\n\nFixes golang/go#25903.\n\nChange-Id: Ib3bcb90147cf5b452f41850aba733144e22c06f3\nReviewed-on: https://go-review.googlesource.com/119275\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "5e60d5e8e5005ff423d055b614c5440f37d86dc2",
      "tree": "943e6c5a6aa118789fd5a5aad31a16ee1627f338",
      "parents": [
        "90a5dafa4859ce777917cea3ac4cd04390ee8549"
      ],
      "author": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Fri Jun 15 11:19:06 2018 -0400"
      },
      "committer": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Tue Jun 19 16:55:52 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch: update expected errors in TestCodeRepo\n\nUpdates golang/go#25501.\n\nBefore:\n\n--- FAIL: TestCodeRepo (20.13s)\n    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1_v2/v2.0.0 (0.47s)\n        coderepo_test.go:424: repo.Zip(\"v2.0.0\"): missing or invalid go.mod, want error \"missing go.mod\"\n    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1_v2/80d85 (0.34s)\n        coderepo_test.go:409: repo.GoMod(\"v2.0.0-20180219231006-80d85c5d4d17\"): missing or invalid go.mod, want \"missing go.mod\"\n        coderepo_test.go:424: repo.Zip(\"v2.0.0-20180219231006-80d85c5d4d17\"): missing or invalid go.mod, want error \"missing go.mod\"\n    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1_v54321/80d85 (0.28s)\n        coderepo_test.go:424: repo.Zip(\"v54321.0.0-20180219231006-80d85c5d4d17\"): missing or invalid go.mod, want error \"missing go.mod\"\nvgo: lookup code.google.com/p/go-uuid/uuid: unknown module code.google.com/p/go-uuid/uuid: no go-import tags\n\nAfter:\n\nok      golang.org/x/vgo/vendor/cmd/go/internal/modfetch        123.433s\n\nChange-Id: I1263af1104b36b519ab9e79c74bb8c2eed05797e\nReviewed-on: https://go-review.googlesource.com/119075\nReviewed-by: Daniel Theophanes \u003ckardianos@gmail.com\u003e\n"
    },
    {
      "commit": "90a5dafa4859ce777917cea3ac4cd04390ee8549",
      "tree": "e9223abb8d6ff10e1b33e698598481b2bcea7339",
      "parents": [
        "23c052f56385c65d42b29a1fefb0db86f0ded00e"
      ],
      "author": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Fri Jun 15 11:24:00 2018 -0400"
      },
      "committer": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Tue Jun 19 16:54:49 2018 +0000"
      },
      "message": "cmd/go: skip remaining failing tests\n\nAfter this change and CL 119075, \"go test ./...\" from the vendor\ndirectory succeeds.\n\nUpdates golang/go#25501.\n\nChange-Id: Ife1904ea162b4108ff45db2f0c87079e803b1e99\nReviewed-on: https://go-review.googlesource.com/119076\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "23c052f56385c65d42b29a1fefb0db86f0ded00e",
      "tree": "cd7167f787c613d38ca47a51150e1230ebec0eff",
      "parents": [
        "2b01c118d9f015d101ff19865d182016acd06e1b"
      ],
      "author": {
        "name": "Baokun Lee",
        "email": "nototon@gmail.com",
        "time": "Fri Jun 15 11:26:45 2018 +0800"
      },
      "committer": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Tue Jun 19 16:51:04 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch: remove redundant check for semver\n\nThe function semver.IsValid(vers) would check whether vers has a \"v\" prefix.\n\nChange-Id: I9d8381af6bd04d228846701b3f910ec5add61ae6\nReviewed-on: https://go-review.googlesource.com/118936\nRun-TryBot: Baokun Lee \u003cnototon@gmail.com\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "2b01c118d9f015d101ff19865d182016acd06e1b",
      "tree": "bfb550a37f6fc3b50ef7830ab1fcd9b30a1866b3",
      "parents": [
        "779bf9403984a259809f432eceb1efdfbde3fdc5"
      ],
      "author": {
        "name": "Baokun Lee",
        "email": "nototon@gmail.com",
        "time": "Tue Jun 19 02:09:28 2018 +0800"
      },
      "committer": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Mon Jun 18 18:46:20 2018 +0000"
      },
      "message": "cmd/go: fix TestVerifyNotDownloaded test\n\nAs CL 119475, we also need fix local cache directory root\nfrom $GOPATH/src/v to $GOPATH/src/mod in tests.\n\nChange-Id: I364a31adb904bf4904ad84ad5e8086b00c80ccb4\nReviewed-on: https://go-review.googlesource.com/119497\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "779bf9403984a259809f432eceb1efdfbde3fdc5",
      "tree": "d988d994a8bd4064845c1095adcf75d9433ffc5c",
      "parents": [
        "00c6f9603cb3c184782339aab1cfdeb6bdff1e8d"
      ],
      "author": {
        "name": "Baokun Lee",
        "email": "nototon@gmail.com",
        "time": "Tue Jun 19 01:51:30 2018 +0800"
      },
      "committer": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Mon Jun 18 17:59:07 2018 +0000"
      },
      "message": "cmd/go/internal/vgo: fix comment of SrcMod\n\nThe local cache directory root from $GOPATH/src/v to $GOPATH/src/mod\nin CL 119475.\n\nChange-Id: I43a23eaf61df807bc8b98d8a251a0c6a39d18f29\nReviewed-on: https://go-review.googlesource.com/119496\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "00c6f9603cb3c184782339aab1cfdeb6bdff1e8d",
      "tree": "c5c9ddfca9b9376dd630892545e83a61f2e18ca9",
      "parents": [
        "22e23900224f03be49670113d5781e4d89090f45"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 15 14:20:05 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Mon Jun 18 17:44:05 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch: cache info and gomod on disk\n\nThis on-disk caching was previously done inside package vgo,\nbut that means that other code calling modfetch directly\ndoes not benefit from the cache entries and does unnecessary\nnetwork operations. Fix that.\n\nThis CL also renames the local cache directory root from\n$GOPATH/src/v to $GOPATH/src/mod.\n\nThe \"v\" stood for versioned, but \"mod\" seems clearer\n(it\u0027s the downloaded modules).\n\nThis CL also fixes a deadlock in the caching code: one Repo\u0027s\nGoMod may need to call another repo\u0027s Stat and vice versa,\nso it can\u0027t be that a Repo must only be used from one goroutine\nat a time, or else we\u0027ll end up with a deadlock. Redefine that\nany Repo must be allowed to be used from multiple goroutines\nsimultaneously and update the code accordingly. This eliminates\nthe potential deadlock.\n\nThis CL also makes the gitrepo implementation work a bit\nharder to use its local information before doing any network\noperations. In particular, locally-cached tags or commits are\nnow resolved without consulting the remote repo.\n\nFixes golang/go#25919.\n\nChange-Id: I3443ffc97a1e3e465c8780fb81f263be3b6d77ae\nReviewed-on: https://go-review.googlesource.com/119475\nRun-TryBot: Russ Cox \u003crsc@golang.org\u003e\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "22e23900224f03be49670113d5781e4d89090f45",
      "tree": "a16513aa98f6bca336d5e54282b30cceac8ff482",
      "parents": [
        "5f0293f5eba8b40c8253b1b100c2ce431552287a"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 15 23:11:39 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Sat Jun 16 03:25:06 2018 +0000"
      },
      "message": "cmd/go/internal/modfetch: fix go.mod cache bug\n\nThe cache was fetching the first go.mod requested\nfor some version in a given repo and then reusing it\nfor all versions in that repo.\n\nChange-Id: Iea017306468534fa500947a8ee8f69e36731b86c\nReviewed-on: https://go-review.googlesource.com/119338\nRun-TryBot: Russ Cox \u003crsc@golang.org\u003e\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "5f0293f5eba8b40c8253b1b100c2ce431552287a",
      "tree": "6bf3309fbc8abf234e0927594a8673a4ce998a0d",
      "parents": [
        "0a6cdd775a6812169f1b0e5c6bfb27d35d50cbef"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 15 20:43:07 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Sat Jun 16 02:06:19 2018 +0000"
      },
      "message": "cmd/go/internal/par: fix cond crash\n\nChange-Id: Ie35a1699ce669571791c625cd6e212634e73f869\nReviewed-on: https://go-review.googlesource.com/119336\nRun-TryBot: Russ Cox \u003crsc@golang.org\u003e\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "0a6cdd775a6812169f1b0e5c6bfb27d35d50cbef",
      "tree": "370a24762b5ea19e5a43961c2483548d8adb097d",
      "parents": [
        "184f864c4167d0e2923eb90fe611923812255ec4"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 15 10:40:48 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 15 20:32:29 2018 +0000"
      },
      "message": "cmd/go: parallelize module load operations\n\nLoading information about modules not yet cached\non the local system is dominated by network I/O time.\nLoad the information in parallel to overlap this I/O.\n\nAs a test case, I am using a real (not synthetic) but unpublished\nrepo with 90 transitive dependencies. In that repo,\nI\u0027ve measured the time it takes for\n\n\trm -rf $GOPATH/src/v \u0026\u0026 vgo mod -vendor\n\nBefore this CL, that operation averages about 220 seconds.\n\nAdding caching of already-looked-up information\nin modfetch/repo.go drops the average time to about 170 seconds.\n\nChanging the MVS requirement scans to run in parallel\ndrops the average time to about 65 seconds.\nThis CL includes Bryan\u0027s comments for mvs.Reqs\nfrom CL 116235, extended to document the new parallel\naccess requirements.\n\nThis CL also adds the build -x flag to \u0027vgo mod\u0027 so that it\u0027s\npossible to see all the git commands being executed.\n\nFixes golang/go#24316.\n\nChange-Id: Ia8228e850c6c60d8fa80d2fb3b6773c70e86137b\nReviewed-on: https://go-review.googlesource.com/119055\nRun-TryBot: Russ Cox \u003crsc@golang.org\u003e\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\n"
    },
    {
      "commit": "184f864c4167d0e2923eb90fe611923812255ec4",
      "tree": "05372b77c56fc3756348c06976a06a92b2995963",
      "parents": [
        "49c7bd707581150d9b5f51209932192bef77d330"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jun 14 11:27:49 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 15 19:11:18 2018 +0000"
      },
      "message": "cmd/go/internal/modcmd: remove unused modules during -sync\n\nFixes golang/go#24101.\n\nChange-Id: I3900502372281515b49e98ed1465c2aa8d9a016b\nReviewed-on: https://go-review.googlesource.com/118877\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "49c7bd707581150d9b5f51209932192bef77d330",
      "tree": "06f95c657cc28c3c7854ca1248bf5abe8760b51d",
      "parents": [
        "fa9d1c5077553a2a2ba1944cdf522b84b13bd8d4"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jun 14 11:17:55 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 15 19:11:15 2018 +0000"
      },
      "message": "cmd/go/internal/modcmd: implement -vendor, dropping \u0027vgo vendor\u0027\n\nChange-Id: If86e55b57e6fe6fc8fbddeb3e031f68c9130f0e2\nReviewed-on: https://go-review.googlesource.com/118876\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "fa9d1c5077553a2a2ba1944cdf522b84b13bd8d4",
      "tree": "d545f6b27441b6276089ef07314a29b99008857a",
      "parents": [
        "b4c4da82ab909e2da3f85ce7a8d088519d1bbb38"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jun 14 10:49:28 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 15 19:11:11 2018 +0000"
      },
      "message": "cmd/go/internal/modcmd: implement -verify, dropping \u0027vgo verify\u0027\n\nChange-Id: Ib6f68875595da748de1c6940cd6ed7a5b460e1a8\nReviewed-on: https://go-review.googlesource.com/118875\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "b4c4da82ab909e2da3f85ce7a8d088519d1bbb38",
      "tree": "9768da9ea66e15c763df04fa8a023ef0eadaf916",
      "parents": [
        "6507cf3faa3e21a2864609fadbe2772b859a4fd7"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Tue Jun 12 12:59:06 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 15 19:02:28 2018 +0000"
      },
      "message": "cmd/go/internal/modcmd: add \"vgo mod\" command\n\nThe new \"vgo mod\" command in this CL provides a single command\nfor a handful of basic module maintenance and query operations,\ninstead of allowing them to explode the number of non-package-based\ngo subcommands.\n\nIn a followup CL, \"vgo vendor\" will become \"vgo mod -vendor\", and\n\"vgo verify\" will become \"vgo mod -verify\".\n\nIn another followup CL, \"vgo sync\" will remove unused modules from go.mod.\n\nSee the help text in modcmd/mod.go for an overview of the command.\n\nChange-Id: I114ce32f7f7c1b7725a9cab09e084c86fc99574b\nReviewed-on: https://go-review.googlesource.com/118317\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"
    },
    {
      "commit": "6507cf3faa3e21a2864609fadbe2772b859a4fd7",
      "tree": "158be5dd844c8b8e04a05baa65eb9b5d333f55b0",
      "parents": [
        "d948b59c0fdb6b6a55ff8a1214f7ef72bb850f86"
      ],
      "author": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Thu Jun 14 18:24:53 2018 -0400"
      },
      "committer": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Fri Jun 15 15:05:55 2018 +0000"
      },
      "message": "cmd/go: skip failing TestNewReleaseRebuildsStalePackagesInGOPATH\n\nUpdates golang/go#25501.\n\nCurrent failure mode:\n\n--- FAIL: TestNewReleaseRebuildsStalePackagesInGOPATH (3.38s)\n    go_test.go:910: running testgo [install -i p1]\n    go_test.go:911: running testgo [list -f {{.Stale}}:{{.StaleReason}} p1]\n    go_test.go:911: standard output:\n    go_test.go:911: false:\n\n    go_test.go:920: running testgo [list -f {{.Stale}}:{{.StaleReason}} p1]\n    go_test.go:920: standard output:\n    go_test.go:920: false:\n\n    go_test.go:927: running testgo [list -f {{.Stale}}:{{.StaleReason}} p1]\n    go_test.go:927: standard output:\n    go_test.go:927: false:\n\n    go_test.go:927: ./testgo list claims p1 is NOT stale, incorrectly, after changing sys.go\n\nChange-Id: I58b78b7e9b3ddf16e0f7949fc33dba89aa3d5b93\nReviewed-on: https://go-review.googlesource.com/119015\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "d948b59c0fdb6b6a55ff8a1214f7ef72bb850f86",
      "tree": "96ab3aafcb5d7e9d38177c9005b90d8e5a57f221",
      "parents": [
        "d4ada82e565b06ff8a731f5019f85c1ca33cb2e8"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jun 14 15:20:02 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jun 14 19:37:19 2018 +0000"
      },
      "message": "cmd/go/internal/vgo: fix vendor for packages limited to a single tag\n\nThe \"all tags are valid\" logic wasn\u0027t being push all the way down,\nleading to spurious \"no Go source files\" errors.\n\nFixes golang/go#25871.\n\nChange-Id: I0afd91d9458ccdb3440949d5c53268ffd3a3aa82\nReviewed-on: https://go-review.googlesource.com/118956\nRun-TryBot: Russ Cox \u003crsc@golang.org\u003e\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\nReviewed-by: Ross Light \u003clight@google.com\u003e\n"
    },
    {
      "commit": "d4ada82e565b06ff8a731f5019f85c1ca33cb2e8",
      "tree": "57ad871b435716787664121c1ce2e700bb67a053",
      "parents": [
        "c68440426af4af83c4377be59f3e2744dc01a12e"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jun 14 09:32:03 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jun 14 19:37:17 2018 +0000"
      },
      "message": "cmd/go/internal/vgo: ignore appengine imports\n\nAs an unfortunate special case, just ignore import of appengine or appengine/*\nwhen scanning a source tree to find modules that need to be imported.\nA more aggressive option would be to ignore all paths that don\u0027t start\nwith an element with a dot (that is, don\u0027t start with a plausible domain name),\nbut I don\u0027t want to require that all modules have a dot at the start of the name.\n\nThe real problem here is that appengine was introduced so long ago that it\npredates \"go get\" and did not use URL-like paths, and some code exists that\nis still using those old imports. I am unaware of any other special cases like\nthat. If they arise, we can add them too, or we can revisit whether there is a\nmore general fix. For now this should suffice.\n\nFixes golang/go#25881.\n\nChange-Id: I38cdbc1cd83a2f55d87f598bd0cbf1f6bcade88a\nReviewed-on: https://go-review.googlesource.com/118757\nRun-TryBot: Russ Cox \u003crsc@golang.org\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\nReviewed-by: Ross Light \u003clight@google.com\u003e\n"
    },
    {
      "commit": "c68440426af4af83c4377be59f3e2744dc01a12e",
      "tree": "d90f4c1c5ec42bdb8dd8bf86d26f9d94b9463b51",
      "parents": [
        "140323db76208a6d9ae2a69f58e4df4d17630007"
      ],
      "author": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Tue Jun 12 19:25:49 2018 -0400"
      },
      "committer": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Thu Jun 14 19:15:36 2018 +0000"
      },
      "message": "vendor/cmd/go: fix a bad merge from CL 117235\n\nApparently I need to learn to trust Gerrit less. It showed the correct diff, I\npressed Submit, and when I went to rebase the change was in the wrong place.\n\nUpdates golang/go#25501.\n\nChange-Id: I85dfc9b57090bdd8ac888e705175c5397938405e\nReviewed-on: https://go-review.googlesource.com/118415\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "140323db76208a6d9ae2a69f58e4df4d17630007",
      "tree": "f4e6cd266aea36f1f61dd2ecbce56c467e80b9a9",
      "parents": [
        "4daf3c216111e1de20c9fff6bb8bd0b1a9fe5e1e"
      ],
      "author": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Wed Jun 06 17:04:05 2018 -0400"
      },
      "committer": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Thu Jun 14 19:11:11 2018 +0000"
      },
      "message": "vendor/cmd/go/internal/modfetch: remove webtest usage in modfetch_test\n\nThe webtest hook no longer has any effect on these tests as of CL 107657.\nThat means the modfetch test is no longer hermetic (it actually talks\nto GitHub), but a non-hermetic test is better than no test.\n\nKeep webtest for future use: modfetch still uses web2 in a couple of places.\n\nThere are still a few failing tests in modfetch_test.\nThose will be fixed in a later change.\n\nUpdates golang/go#25742.\n\nChange-Id: Ib50838885fe9dc462ee9b03fcd9e29c1782e8dd6\nReviewed-on: https://go-review.googlesource.com/116835\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "4daf3c216111e1de20c9fff6bb8bd0b1a9fe5e1e",
      "tree": "854ed9bd5713f62f9e028b665ede15ceb00ccb1c",
      "parents": [
        "3e4ec9f15beaa4a3cbddb9c805b581c33e1199c4"
      ],
      "author": {
        "name": "Baokun Lee",
        "email": "nototon@gmail.com",
        "time": "Wed Jun 06 15:18:30 2018 +0800"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jun 14 14:45:35 2018 +0000"
      },
      "message": "cmd/go/internal/vgo: vendor testdata from parent directories of copied packages\n\nWe should keep all the testdata directories in parent directories\nof copied packages. And we should also avoid re-copying directories\nalready copied.\n\nIf the package being vendored is a/b/c, try to copy a/b/c/testdata,\na/b/testdata and a/testdata to vendor directory, up to the module\nroot.\n\nFixes golang/go#23997\n\nChange-Id: If3a2ab9e4bcce80acc978caf569a4aa33219fd62\nReviewed-on: https://go-review.googlesource.com/116575\nRun-TryBot: Russ Cox \u003crsc@golang.org\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "3e4ec9f15beaa4a3cbddb9c805b581c33e1199c4",
      "tree": "f3c8530f6808c8c6ce8020ad8881ee7c30347fa2",
      "parents": [
        "99266e0b03049c6b0b0d5b98164d834326416206"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jun 13 19:21:33 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jun 14 13:35:54 2018 +0000"
      },
      "message": "cmd/go: move modfetch.modPath to modfile.ModulePath, fix // handling\n\nReplacement for CL 116836.\n\nFor golang/go#25501.\n\nChange-Id: Ie4f15dc11d9499aeeb497b7aceff2efd2bcd7ce3\nReviewed-on: https://go-review.googlesource.com/118718\nReviewed-by: Daniel Theophanes \u003ckardianos@gmail.com\u003e\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "99266e0b03049c6b0b0d5b98164d834326416206",
      "tree": "8261d0c733d3062e8818d4f1196278fe5bbc7ba2",
      "parents": [
        "48532fcbfed81df51d668e6d42180a115efc97ed"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 08 14:48:13 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Thu Jun 14 02:03:16 2018 +0000"
      },
      "message": "cmd/go/internal/vgo: add -getmode\u003dlocal, -getmode\u003dvendor build flag\n\nThe new build flag -getmode\u003dmode changes the way that vgo\nresolves references to modules outside the target module.\n\nThe default (no -getmode flag) is to download and cache as usual.\n\nWith -getmode\u003dlocal, the local cache is still consulted for modules,\nbut no network lookups are permitted.\n\nWith -getmode\u003d\u003dvendor, only the vendor directory is used,\nbypassing both the network and the local cache.\nIn this mode most of the interesting vgo behavior is inaccessible:\nthere is no world beyond the current module and its vendor directory.\n\nI\u0027m not thrilled with the name -getmode but don\u0027t have a better\nname yet. It will probably change before the release - this CL is\nabout implementing the behavior.\n\nFixes golang/go#25073.\n\nChange-Id: Ic5273f9f2d0263b49540401c4f554190702df099\nReviewed-on: https://go-review.googlesource.com/118316\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "48532fcbfed81df51d668e6d42180a115efc97ed",
      "tree": "6cc2ef452c08a2229b117d9ed8135d536c7ab560",
      "parents": [
        "7fbc8df48a749126c4596fd0a5e78f3941c7913b"
      ],
      "author": {
        "name": "Baokun Lee",
        "email": "nototon@gmail.com",
        "time": "Tue Jun 12 21:36:33 2018 +0800"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jun 13 17:22:51 2018 +0000"
      },
      "message": "cmd/go/internal/vgo: fix vendor fails without dependencies\n\nFixes golang/go#25843\n\nChange-Id: I7044ce7cf0ddf8c852c7c0662b901b9102c6f1c1\nReviewed-on: https://go-review.googlesource.com/118235\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "7fbc8df48a749126c4596fd0a5e78f3941c7913b",
      "tree": "4c4b14bfa721b745bff7b6e49ce752aae55f82ad",
      "parents": [
        "f478e7d41970c086311061314753e6aef9a3e68a"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jun 08 13:18:03 2018 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Wed Jun 13 14:07:05 2018 +0000"
      },
      "message": "x/vgo: incorporate current Go 1.11 development tree\n\nThis CL corresponds to ee2e8ecb19d\n(https://golang.org/cl/118375) in the main repo.\n\nAfter this CL, \"vgo vet\" only works with the Go 1.11 tree.\nIt\u0027s now a no-op when using a Go 1.10 tree.\n\nChange-Id: Ie3dd17f3833a9189d282abaf416e372616bf50cf\nReviewed-on: https://go-review.googlesource.com/118096\nReviewed-by: Bryan C. Mills \u003cbcmills@google.com\u003e\n"
    },
    {
      "commit": "f478e7d41970c086311061314753e6aef9a3e68a",
      "tree": "8b9e438027fbc7ad6e14fb38ced08b35a43e1747",
      "parents": [
        "a40f2a2e936c1a5f0953c25e314b8d46a0e11aeb"
      ],
      "author": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Thu Jun 07 11:03:38 2018 -0400"
      },
      "committer": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Tue Jun 12 23:59:00 2018 +0000"
      },
      "message": "vendor/cmd/go: skip TestDefaultGOPATH\n\nIt seems to have been broken by CL 104975: we were invoking `vgo env`\nwith a GOROOT that did not have a complete source tree.\n\nUpdates golang/go#25501.\n\nChange-Id: I238f710bc094cbae9381e3fdd49d5c1f999b5ea5\nReviewed-on: https://go-review.googlesource.com/117035\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    },
    {
      "commit": "a40f2a2e936c1a5f0953c25e314b8d46a0e11aeb",
      "tree": "6f020b13eb6ad67928611eabee3706dc5560e12b",
      "parents": [
        "55a222312d3aadf3efe2e3c9a4d3c75c3ab54f60"
      ],
      "author": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Wed Jun 06 11:02:43 2018 -0400"
      },
      "committer": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Tue Jun 12 23:45:35 2018 +0000"
      },
      "message": "vendor/cmd/go: skip TestExecutableGOROOT\n\nThis test appears to have been broken by https://golang.org/cl/104975.\n\nUpdates golang/go#24694.\nUpdates golang/go#25501.\n\nBefore:\n\n~/src/golang.org/x/vgo/vendor/cmd/go$ go test -run\u003dTestExecutableGOROOT .\n--- FAIL: TestExecutableGOROOT (0.15s)\n    --- FAIL: TestExecutableGOROOT/RuntimeGoroot (0.00s)\n        go_test.go:4598: /tmp/gotest104327550/new/bin/go run testdata/print_goroot.go: exit status 1, vgo requires Go 1.10 but VGOROOT\u003d/tmp/gotest104327550/new is not a Go 1.10 source tree\nFAIL\nFAIL    golang.org/x/vgo/vendor/cmd/go  1.730s\n\nAfter:\n\n~/src/golang.org/x/vgo/vendor/cmd/go$ go test -run\u003dTestExecutableGOROOT .\nok      golang.org/x/vgo/vendor/cmd/go  2.870s\n\nChange-Id: I155a1344ec704c53d3678390cafc1ad33d1a338b\nReviewed-on: https://go-review.googlesource.com/116615\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n"
    }
  ],
  "next": "55a222312d3aadf3efe2e3c9a4d3c75c3ab54f60"
}
