Glide is a Go dependency management tool that fetches, pins, and vendors external packages to enable reproducible builds across environments. It stores project-specific copies of Go packages in a vendor directory, isolating dependencies per project to avoid version conflicts, and supports fetching packages from Git, Mercurial, Bazaar, and Subversion repositories. The tool resolves dependency versions using semantic versioning ranges and operators, and generates a lock file that records exact commit IDs for all transitive dependencies.
Glide distinguishes itself with an interactive version wizard that scans dependencies and suggests version ranges for the configuration file, and the ability to map an import path to a different repository URL, such as a fork, without changing import statements. It supports cross-platform dependency filtering, restricting package downloads to specific operating systems and CPU architectures, and can import and merge dependency configurations from Godep, GPM, Gom, and GB. The tool also provides a custom subcommand delegation feature that passes unknown commands to an external executable.
The project includes utilities for listing imported and vendored packages, showing import trees, and retrieving project metadata for scripting and automation. It offers parallel installation of dependencies, deterministic reproduction of dependency trees, and the ability to update all dependencies to the latest versions matching specified constraints.