Migrate an old Go project that still uses godep to modern Go modules by understanding what the Godeps.json file records.
Use godep restore to reproduce an exact historical build of a legacy Go project that hasn't been migrated yet.
Read the Godeps/Godeps.json file to audit which library versions a project depended on at a specific point in time.
Project is archived and no longer maintained, migrate to Go modules instead of starting new projects with godep.
Godep is an archived command-line tool for Go programmers that helped ensure software projects always built with exactly the same versions of their dependencies. A dependency in this context means any outside code library that a project relies on. Without a tool like this, two developers could run the same project and end up using different library versions, causing hard-to-trace bugs. When you ran godep save, the tool would scan your project, record the exact version of every outside library in a file called Godeps/Godeps.json, and copy those library files into a vendor/ folder inside your project. After that, anyone who cloned your project could run godep restore to install those same exact versions rather than whatever happened to be current at that moment. The tool also offered wrapper commands like godep go test and godep go install so you could keep running normal Go operations while godep made sure the right library versions were in place. For projects with multiple packages, running godep save ./... captured dependencies for all of them at once. This project is now archived. The Go community moved on to a newer official tool called dep, and the README explicitly directs users there. The godep repository is maintained only for existing users who have not yet migrated, with no new features planned. The file format godep used was simple JSON, recording the import path and the exact commit ID for each dependency. This made the dependency list readable and easy to diff in version control, so you could see exactly what changed between updates.
← tools on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.