Skip to content
This repository has been archived by the owner on Sep 9, 2020. It is now read-only.

dep ensure is semantically confusing #371

Closed
paddie opened this issue Apr 11, 2017 · 2 comments
Closed

dep ensure is semantically confusing #371

paddie opened this issue Apr 11, 2017 · 2 comments
Labels

Comments

@paddie
Copy link

paddie commented Apr 11, 2017

Coming from different vendoring tools for both Go and other languages, it seems to me that the command dep ensure is semantically a bit confusing.

I expected the command to be something along the lines of dep [commit | pull | install] to pull in dependencies from project imports. The ensure command is almost begging for an ekstra argument, such as dependencies or vendored which is not the case.

This is not really a feature request, I was just interested in knowing if I was the only one.

@paddie paddie changed the title It is not clear what dep ensure does from the name dep ensure is semantically confusing Apr 11, 2017
@sdboyer sdboyer added the docs label Apr 11, 2017
@sdboyer
Copy link
Member

sdboyer commented Apr 11, 2017

Yeah, we went round and round on names. A lot.

The idea of "ensure" is roughly, "ensure that all my local states - code tree, manifest, lock, and vendor - are in sync with each other." When arguments are passed, it becomes "ensure this argument is satisfied, along with synchronization between all my local states."

We opted for this approach because we came to the conclusion that allowing the tool to perform partial work/exit in intermediate states ended up creating a tool that had more commands, had far more possible valid exit and input states, and was generally full of footguns. In this approach, the user has most of the same ultimate control, but exercises it differently (by modifying the code/manifest and re-running dep ensure).

Still, this is something that belongs in FAQ/docs, for sure 😄

@carolynvs carolynvs mentioned this issue Apr 19, 2017
@afeld
Copy link
Contributor

afeld commented Jul 15, 2017

Now present in the FAQ - I think this issue is good to close.

@ibrasho ibrasho closed this as completed Jul 15, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

4 participants