News for hackers. Stuff that matters.
Re:A Roadmap to Merging 'dep' into the Go Toolchain by garfij on Thursday March 09, 2017 @04:20PM (#13833780)
I haven't used Glide (only govendor) so I'm not sure exactly how it works.

Are you checking your dependencies into your repository (we do this, it works very well).

If not, are you pinning specific commit hashes? Is that even possible in Glide?

AFAIK those are the only two ways to get even close to reproducible builds.

Re:A Roadmap to Merging 'dep' into the Go Toolchain by joaodlf on Thursday March 09, 2017 @04:25PM (#13833848)
Commit hashes seem to be the way to go, for sure, at least to be safe. I really don't want to put our vendor content in the repos.

It's just a tad absurd when you're used to mature package managers in other languages.

Re:A Roadmap to Merging 'dep' into the Go Toolchain by weberc2 on Thursday March 09, 2017 @05:50PM (#13834582)
Honestly, most package managers just bring their own problems. I'd rather commit source code than troubleshoot npm, pip, nix, maven, etc errors all day long. The only package manager I've found that works reliably has been Cargo (Rust).
Re:A Roadmap to Merging 'dep' into the Go Toolchain by zellyn on Thursday March 09, 2017 @06:15PM (#13834758)
There has been a lot of talking between the committee that created `dep` and folks who've implemented other systems, including Cargo. I have high hopes.
Re:A Roadmap to Merging 'dep' into the Go Toolchain by sdboyer on Thursday March 09, 2017 @07:17PM (#13835163)
indeed, we've talked with them quite a bit :)
Re:A Roadmap to Merging 'dep' into the Go Toolchain by RangerScience on Thursday March 09, 2017 @06:17PM (#13834771)
I don't think I've ever had a problem with Bundler.
Re:A Roadmap to Merging 'dep' into the Go Toolchain by OhSoHumble on Thursday March 09, 2017 @09:28PM (#13835836)
Me neither. In fact, I rarely have trouble with package managers. They're amazing.
Re:A Roadmap to Merging 'dep' into the Go Toolchain by weberc2 on Thursday March 09, 2017 @11:28PM (#13836374)
I envy you. I use Nix, pip, and npm on a daily basis and it's an uphill battle. I haven't used Bundler.
Re:A Roadmap to Merging 'dep' into the Go Toolchain by OhSoHumble on Friday March 10, 2017 @02:35AM (#13836989)
Well, nix looks awfully complicated. I've had trouble deploying applications using pip. Npm hasn't given me any trouble.

Bundler is lovely.

Re:A Roadmap to Merging 'dep' into the Go Toolchain by vetinari on Friday March 10, 2017 @04:51AM (#13837485)
Once I did 'sudo npm -g update npm', just 3.x to 3.x+1 and the hell broke loose. I had to wipe entire nodejs and reinstall from scratch.

In other cases, 'npm update <package>' doesn't work and I have to do uninstall/install. Very common with typescript, for example.

Re:A Roadmap to Merging 'dep' into the Go Toolchain by baq on Friday March 10, 2017 @04:14AM (#13837340)
i would be a happy man if every package manager for any language has magically become cargo overnight.
Re:A Roadmap to Merging 'dep' into the Go Toolchain by pjmlp on Friday March 10, 2017 @04:40AM (#13837444)
Until cargo starts to support binary crates across projects I would be a very unhappy man.

I have better things to do with my time than watching the same crates being compiled multiple times.

Re:A Roadmap to Merging 'dep' into the Go Toolchain by andrewchambers on Friday March 10, 2017 @04:59AM (#13837522)
Well go builds so fast you wouldn't be waiting.
Re:A Roadmap to Merging 'dep' into the Go Toolchain by pjmlp on Friday March 10, 2017 @05:01AM (#13837531)
It is still slower than Turbo Pascal (MS-DOS). :)

In any case, I appreciate that Go at least supports binary packages, but Go isn't a language for me, given the type system decisions.

Re:A Roadmap to Merging 'dep' into the Go Toolchain by zellyn on Thursday March 09, 2017 @06:17PM (#13834770)
I believe the current intended use is a human-editable "manifest file" where you specify desires/intent, preferably semver, ideally only as necessary, and a machine-generated "lock file" which specifies the actual hash of every transitive dependency, so builds are fully specified and reproducible.
Re:A Roadmap to Merging 'dep' into the Go Toolchain by eikenberry on Thursday March 09, 2017 @05:16PM (#13834333)
But they all have to vendor as well if they want reliable builds. Otherwise you end up with everything breaking when a developer decides to do a forced push or take his repo off github.
Re:A Roadmap to Merging 'dep' into the Go Toolchain by zellyn on Thursday March 09, 2017 @06:18PM (#13834785)
Well, you can vendor, or you can have an internal mirror/cache of repositories.
Re:A Roadmap to Merging 'dep' into the Go Toolchain by sdboyer on Thursday March 09, 2017 @07:21PM (#13835181)
Force pushes - by far more common than straight-up repository removal - are handled without problem; we let you stick with your old version. (At least, that's how it should be - there might be a couple more test cases to write. I know I designed for this problem early on).

Repo removal, renaming, or whatever, are still problems, for sure.

Today, dep populates vendor/ with dependencies, and works equally well whether you decide to commit them or not.

Re:A Roadmap to Merging 'dep' into the Go Toolchain by stepik777 on Thursday March 09, 2017 @05:23PM (#13834393)
Not if there is a central repository which doesn't allow removal of packages.
Re:A Roadmap to Merging 'dep' into the Go Toolchain by camus2 on Thursday March 09, 2017 @07:56PM (#13835397)
> Are you checking your dependencies into your repository (we do this, it works very well).

it work if you are working on a project, it does not if you are library author who rely on other dependencies.

Re:A Roadmap to Merging 'dep' into the Go Toolchain by sdboyer on Thursday March 09, 2017 @08:45PM (#13835646)
in a post-dep world, this won't matter anymore. dep strips vendor directories out of any dependencies it pulls in.
Re:A Roadmap to Merging 'dep' into the Go Toolchain by rem7 on Friday March 10, 2017 @01:39AM (#13836822)
When dep removed the vendor folders from the other libraries, How does dep handle multiple libraries that depend on the same library but different versions of it?