github.com/mayur-tolexo/godep@v0.0.0-20170205210856-a9cd0561f946/FAQ.md (about)

     1  ## Why do I need to check in `vendor/`?
     2  
     3  godep's primary concern is to allow you to repeatably build your project. Your
     4  dependencies are part of that project. Without them it won't build. Not
     5  committing `vendor/` adds additional external dependencies that are outside of
     6  your control. In Go, fetching packages is tied to multiple external systems
     7  (DNS, web servers, etc). Over time other developers or code hosting sites may
     8  discontinue service, delete code, force push, or take any number of other
     9  actions that may make a package unreachable. Therefore it's the opinion of the
    10  godep authors that `vendor/` should always be checked in.
    11  
    12  ## Should I use `godep restore`?
    13  
    14  Probably not, unless you **need** to. Situations where you would **need** to are:
    15  
    16  1. Using older Godep Workspaces (`Godeps/_workspace`) and not using `godep go
    17     <cmd>`.
    18  1. Resetting the state of $GOPATH to what is in your `Godeps.json` file in order
    19     to cleanly re-vendor everything w/o upgrading/changing any deps. This is
    20     useful when [migrating](https://github.com/tools/godep#migrating-to-vendor)
    21     from workspaces to `vendor` or when a bug is fixed in `godep` that cleans up
    22     a previous vendoring error.