FiloSottile/gvt

gvt update of packages in same repo

jmhodges opened this issue · 6 comments

Google folks are asking people to move to a new import path for their GCloud tools (howsmyssl got one, for instance)

That import path change also means howsmyssl needs some newer versions of packages in google.golang.org/api/... which are currently separate entries in the manifest.

It might just be nicer for gvt update to update all of the packages in the same repo as the one given unless otherwise specified. I can't imagine too many cases where people want to update only a single package in a repo. An escape hatch to let them update only one is probably fine.

I should note that I got a bunch of warnings about "overlapping dependencies" and I'm not sure what to do about them. Is there a way to get gvt to clean up manifests so there is only one correct dependency? Is that my only problem?

This was at 727a68c41cd5d433b1c5f3532b2b54975315ec14 in the howsmyssl repo.

Maybe my problem is just the overlapping dependencies? If I knew how to fix that and if gvt now prevents me from making the same mistakes again, I would totally do that.

Oh! To be clear! I ran gvt update google.golang.org/api/gensupport to see what would happen, and it updated only the google.golang.org/api/gensupport entry.

It seems that gvt update does now delete overlapping entries, but not if you've given the exact import path of one of overlapping entries.

So maybe the fix is for gvt update to clean up the overlapping entries first and then detect when the given import path is "inside" one of the new, spruced up entries, and just update that new one?

Hrm, but gvt was cleaning up all of the overlapping entries on every manifest changing action, then me calling gvt delete google.golang.org/cloud should have removed the overlapping google.golang.org/api/... entries, yeah?

But they still remain after me doing so. So something else must be happening or I'm misunderstanding what's going on?

Yeah, a fresh gvt fetch that included new dependencies got me a bunch of deps that were all overlapping instead of just one entry for all of them. Really not clear on how this is supposed to work.

I'm from my phone, so I didn't reproduce it yet and there might be more stuff going on, but this is definitely one of the annoying consequences of #28