blob: e3d119b7e37fd6c99204203f32ca08921dd731fe [file] [log] [blame] [view]
Florin Pățanc3caba32018-02-24 22:07:48 +00001## Table of Contents
2
Florin Pățane7177be2018-02-24 22:31:52 +00003* [Initial paper](#initial-paper)
Florin Pățande0605e2018-02-24 22:39:47 +00004* [Current state](#current-state)
Florin Pățanc3caba32018-02-24 22:07:48 +00005* [Comment Threads](#comment-threads)
6* [Blog posts](#blog-posts)
Florin Pățan7687a8e2018-03-17 09:43:18 +00007* [Presentations](#presentations)
Florin Pățanc3caba32018-02-24 22:07:48 +00008* [Videos](#videos)
9* [Questions](#questions)
Nathan Kerr09db81c2018-03-21 16:22:46 -070010* [Projects Related to vgo](#projects-related-to-vgo)
Florin Pățanc3caba32018-02-24 22:07:48 +000011
Florin Pățanabf2c9c2018-02-24 21:51:56 +000012This document collects thoughts and notes about vgo from the Gophers [#vgo](https://gophers.slack.com/messages/vgo) channel. Invites to Gophers Slack from [here](https://invite.slack.golangbridge.org/).
13
Florin Pățane7177be2018-02-24 22:31:52 +000014### Initial paper
Florin Pățanabf2c9c2018-02-24 21:51:56 +000015
Florin Pățane7177be2018-02-24 22:31:52 +000016The **initial paper** can be read here [https://research.swtch.com/vgo](https://research.swtch.com/vgo).
Florin Pățanc3caba32018-02-24 22:07:48 +000017
Florin Pățan67d80332018-03-20 20:20:43 +000018The **proposal** can be found here [https://github.com/golang/go/issues/24301](https://github.com/golang/go/issues/24301).
19
Florin Pățane7177be2018-02-24 22:31:52 +000020The **reference implementation**: [https://go.googlesource.com/vgo/](https://go.googlesource.com/vgo/) and mirrored on Github here: [https://github.com/golang/vgo](https://github.com/golang/vgo).
Florin Pățanfffd9742018-02-24 22:19:59 +000021
Florin Pățan351a4ab2018-05-22 11:31:18 +030022The **[Go issue tracker](https://golang.org/issues)** is used to track bugs/feature requests for vgo. The issue titles need to start with `x/vgo` so that they can be automatically categorized. You can read the [existing issues here](https://golang.org/issues?q=is%3Aopen+is%3Aissue+milestone%3Avgo).
Florin Pățanfffd9742018-02-24 22:19:59 +000023
Florin Pățancb7780e2018-02-24 22:59:06 +000024***
25
Florin Pățancc6d77e2018-02-24 22:39:11 +000026### Current state
27
Florin Pățan351a4ab2018-05-22 11:31:18 +030028Currently, vgo is in active development. It has some rough edges, changes will happen at a rapid pace. You are encouraged to try vgo and give your feedback, share your experience with it, and contribute to it.
Florin Pățancc6d77e2018-02-24 22:39:11 +000029
30For any production workloads, use [dep](https://github.com/golang/dep), or migrate to it if you have not done so already.
31
Florin Pățan351a4ab2018-05-22 11:31:18 +030032The vgo proposal has been accepted and will be merged in the Go tree and replace dep at a later date.
Florin Pățancc6d77e2018-02-24 22:39:11 +000033
Florin Pățan14b7a462018-05-24 13:45:25 +030034You will be able to experiment with the vgo workflow from Go 1.11 as it will be included as an experiment in this release.
35
Florin Pățancb7780e2018-02-24 22:59:06 +000036***
37
Florin Pățanc3caba32018-02-24 22:07:48 +000038### Comment Threads
Florin Pățanabf2c9c2018-02-24 21:51:56 +000039
40These are threads that have been created from the initial reference manifest for vgo:
41
Nathan Kerrdad3a932018-03-21 16:17:14 -070042- **golang-nuts ML:** [Go += Package Versioning](https://groups.google.com/forum/#!topic/golang-nuts/jFPz5yZCPcQ)
Damian Gryski0699cf92018-02-27 01:40:05 -080043
Nathan Kerrdad3a932018-03-21 16:17:14 -070044- **golang-dev ML:** [Go += Package Versioning](https://groups.google.com/d/topic/golang-dev/MNQwgYHMEcY/discussion), [vgo & semantic import versioning](https://groups.google.com/d/topic/golang-dev/Plc42fslQEk/discussion), [vgo and vendoring](https://groups.google.com/forum/#!topic/golang-dev/FTMScX1fsYk)
Florin Pățanabf2c9c2018-02-24 21:51:56 +000045- **HackerNews posts:** https://news.ycombinator.com/from?site=swtch.com
46- **Reddit:** https://www.reddit.com/domain/research.swtch.com/
47
Florin Pățan04e7bcd2018-03-19 20:20:36 +000048- **vgo & vendoring:** https://groups.google.com/forum/#!topic/golang-dev/FTMScX1fsYk
49- **vgo & semantic import versioning** https://groups.google.com/forum/#!topic/golang-dev/Plc42fslQEk
Florin Pățan14362c42018-03-19 20:19:54 +000050
Florin Pățanc3caba32018-02-24 22:07:48 +000051***
52
Florin Pățanabf2c9c2018-02-24 21:51:56 +000053### Blog posts
54
Florin Pățan9ced1762018-05-22 11:38:19 +030055- [A Proposal for Package Versioning in Go](https://blog.golang.org/versioning-proposal)
Florin Pățanb5099b02018-02-24 22:22:32 +000056- [Exploring vgo](https://www.calhoun.io/exploring-vgo/)
Florin Pățan3df89672018-02-24 22:46:09 +000057- [Semantic Import Versioning in the wild](http://blog.ezyang.com/2018/02/semantic-import-versioning-in-the-wild/)
Nathan Kerr5c0db902018-03-21 15:57:44 -070058- [Diving into vgo from the Golang project](https://www.wolfe.id.au/2018/03/01/diving-into-vgo-from-the-golang-project/)
Paul Jollycff68592018-04-09 06:30:02 +010059- [Notes on migrating to a Go mono repo](https://github.com/myitcv/x/wiki/Notes-on-migrating-to-a-Go-mono-repo)
Florin Pățan9ced1762018-05-22 11:38:19 +030060
Florin Pățanc3caba32018-02-24 22:07:48 +000061***
62
Florin Pățanbc2d8762018-03-17 09:44:22 +000063### Presentations
Florin Pățanabf2c9c2018-02-24 21:51:56 +000064
Florin Pățan7687a8e2018-03-17 09:43:18 +000065- [Repeatable Builds with vgo](https://cda.ms/jD)
66
67***
68
69### Videos
70
Florin Pățana93d68d2018-05-07 11:23:43 +030071- [Opening keynote: Go with Versions - GopherConSG 2018](https://www.youtube.com/watch?v=F8nrpe0XWRg)
Brian Ketelsen1da12672018-03-29 17:07:15 -040072- [1-Using vgo for Go Dependency Management](https://www.gophersnacks.com/programs/using-vgo-for-go-dependency-management) by Brian Ketelsen
73- [2-Adding External Dependencies with vgo](https://www.gophersnacks.com/programs/adding-external-dependencies-with-vgo)
Florin Pățan7edd71f2018-02-28 20:16:34 +000074- [Building Predictability into Your Pipeline](https://www.youtube.com/watch?v=sbrZfPgNmfw) with Russ Cox, Jess Frazelle, Sam Boyer, Pete Garcin.
Florin Pățanabf2c9c2018-02-24 21:51:56 +000075
Florin Pățanc3caba32018-02-24 22:07:48 +000076***
Florin Pățanabf2c9c2018-02-24 21:51:56 +000077
Nathan Kerr09db81c2018-03-21 16:22:46 -070078### Projects Related to vgo
79
80- [Athens](https://github.com/gomods/athens) - A proxy server for vgo
81- [vgo-docker-example](https://github.com/elithrar/vgo-docker-example) - An example of how to use vgo + Docker together.
Paul Jolly7d4fb6a2018-04-09 19:18:29 +010082- [`myitcv.io/cmd/modpub`](https://github.com/myitcv/x/tree/master/cmd/modpub) - a tool to help create a directory of vgo modules from a git repository
Nathan Kerr09db81c2018-03-21 16:22:46 -070083
84***
85
Florin Pățanc3caba32018-02-24 22:07:48 +000086### Questions
87
Florin Pățanb9ccd872018-02-24 22:08:47 +000088| Question | Answer |
Florin Pățanc3caba32018-02-24 22:07:48 +000089| ------------- | ------------- |
90| Hitting GitHub API rate limits? | Create a token and add it to .netrc, see [related issue](https://golang.org/issues/23955) |
Florin Pățanbed91c62018-02-26 22:52:48 +000091| How does vgo handles dependencies of older, discarded versions [link](https://gophers.slack.com/archives/C9BMAAFFB/p1519493604000033)? | [https://github.com/zeebo/vgo-test-version-selection](https://github.com/zeebo/vgo-test-version-selection) |
Daniel Jay Haskine4cee862018-02-26 16:27:45 -070092| Why are major versions in import paths? | https://groups.google.com/forum/#!topic/golang-dev/Plc42fslQEk |
93| How to `go get` so that I can run a program, not download a library? | https://gophers.slack.com/archives/C9BMAAFFB/p1519687366000101 |
Nathan Kerr09db81c2018-03-21 16:22:46 -070094| What's the best way to maintain a package repository that have the major version in the import path? | https://groups.google.com/d/topic/golang-nuts/nS6ST60dwF8/discussion, https://groups.google.com/d/topic/golang-nuts/VREgKrQRFcY/discussion |