News for hackers. Stuff that matters.
Re:A Proposal for Package Versioning in Go by schmichael on Monday March 26, 2018 @12:33PM (#16680125)
> Go hasn't had mature dependency management since its inception and this constant thrash is really starting to make things difficult.

What constant thrash? In the 6 years since Go 1.0 the only dependency management related change I'm aware of is the addition of `vendor/`.

Update: sounds like "thrash" refers to the variety of community vendoring tools. I guess of the few I've used they all felt fairly similar/interchangeable, so it didn't feel like thrashing changes.

Re:A Proposal for Package Versioning in Go by benesch on Monday March 26, 2018 @12:39PM (#16680186)
The constant thrash caused by the lack of a standard package management tool—even a de facto standard. Just look at the various package managers that have come and gone over the years:

1. https://github.com/tools/godep

2. https://github.com/kardianos/govendor

3. https://github.com/robfig/glock

4. https://github.com/rogpeppe/govers

5. https://github.com/Masterminds/glide

6. https://github.com/golang/dep

I'm sure I'm forgetting a few. And just when it seemed the Go team might be ready to standardize around Dep (6), they threw this wrench in the works.

I'm of two minds about vgo. I think it has some interesting ideas, but Dep works today, is widely adopted, and has nearly all the features you'd expect from a modern package manager.

Re:A Proposal for Package Versioning in Go by randomdata on Monday March 26, 2018 @05:22PM (#16682736)
> The constant thrash caused by the lack of a standard package management tool

There is a standard, and has been one from the early days. The catch is that the standard is not loved by all, so others have created competing package management systems to fit their own needs.

Re:A Proposal for Package Versioning in Go by kasey_junk on Monday March 26, 2018 @09:53PM (#16684482)
What is it?
Re:A Proposal for Package Versioning in Go by lox on Monday March 26, 2018 @10:37PM (#16684705)
go get.
Re:A Proposal for Package Versioning in Go by kasey_junk on Monday March 26, 2018 @10:48PM (#16684778)
Does that finally work with private repos?
Re:A Proposal for Package Versioning in Go by sethammons on Tuesday March 27, 2018 @07:30AM (#16687277)
It always has. You have to edit your gitconfig. On mobile, so I can't paste mine. A Google search should get you there. It did for me like 5 years ago.
Re:A Proposal for Package Versioning in Go by kasey_junk on Tuesday March 27, 2018 @09:19AM (#16687995)
So having to reset my git config, either globally impacting everything I do, or manually for every project I use go get in...

Got it.

Re:A Proposal for Package Versioning in Go by lobster_johnson on Monday March 26, 2018 @12:48PM (#16680279)
Between "go get", Godep, Govendor, Glide, gb, Dep, and this — and I'm actually omitting a bunch of other, less popular utilities [1] — there's certainly been churn.

There's definitely a feeling among Go developers that this problem should have been solved much earlier, and that the Go team's years-long refusal to address it caused the proliferation of mediocre tools (looking at you, Glide) that in many ways made the whole situation worse.

When Dep came along, a lot of people breathed a sigh a of relief, because we finally have something okay, and we can go back to being productive instead of fighting dependency management problems all day.

[1] https://github.com/golang/go/wiki/PackageManagementTools

Re:A Proposal for Package Versioning in Go by majewsky on Monday March 26, 2018 @01:33PM (#16680750)
> In the 6 years since Go 1.0 the only dependency management related change I'm aware of is the addition of `vendor/`.

This. Sure, new tools have appeared, but there's literally nothing wrong if you decide to just stick with godep or whatever you happen to be using.

Re:A Proposal for Package Versioning in Go by notheguyouthink on Monday March 26, 2018 @12:35PM (#16680143)
There have been many packages for dependency management, which is not "official" thrash, but thrash nonetheless. Granted, mostly it's been thrash over the last few years. Especially bad since `go dep` was hailed as the king, and then recently abandoned entirely.
Re:A Proposal for Package Versioning in Go by TheDong on Monday March 26, 2018 @12:36PM (#16680158)
The blog post mentions some of this. It claims " For a long time, we believed that the problem of package versioning would be best solved by an add-on tool, and we encouraged people to create one. The Go community created many tools with different approaches"

These many tools were the thrash, including godep, gb, glide, dep, and more.

Each of these expressed versions with different manifests, many of them could import other format's, but not all. All-in-all it has been a mess.

Sure, the go team has not officially done much, but that's because their stance has been borderline negligent on the topic.