I think that is incorrect. The vendoring was a way to ensure certain dependencies remained constant. The modules should eliminate that, barring deletion of the source repo.
> On Nov 16, 2018, at 11:00 PM, Justin Israel <justinisr...@gmail.com> wrote: > > > >> On Sat, Nov 17, 2018 at 5:34 PM Henry <henry.adisuma...@gmail.com> wrote: >> Hi, >> >> It seems to me that go modules and vendor attempt to solve the same problem. >> I wonder whether we should just choose one and scrap the other, or find a >> way to consolidate them under a single unified feature. > > Comparing "modules" and "vendoring" have only the most minor overlap. The > module system is a built-in way to describe and track dependencies. This > ultimately bakes down into a go.sum 'lock' file describing exactly what you > are using at a moment in time. The lock file can then be consulted in the > future to download those exact dependencies and reproduce the same build as > when it was originally written. Vendoring is a way to store dependency code > within the repo to avoid relying on downloading it again. It may or may not > store any information about the versions and it may or may not have been done > manually. The vendoring feature in the go module command is just a way to > store the dependencies from the go.sum solution within the repo and avoid the > download step. > > Why do you feel they are mutually exclusive? What if someone wants the > dependency management of modules and being able to avoid GOPATH, while also > wanting to avoid relying on a download process? > >> I am a bit concerned with the direction Go is going. People keep adding >> stuffs into Go and later find themselves unable to remove existing features >> due to the backward compatibility promise. Go 1.11 is a different beast than >> Go 1.0, and is significantly more complex. >> >> I think Go2 is an opportunity to learn from Go1, and to start from a clean >> slate by scraping and consolidating features. Go2 needs to be simpler than >> Go1.11 >> >> Henry >> -- >> You received this message because you are subscribed to the Google Groups >> "golang-nuts" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to golang-nuts+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.