Documentation
¶
Overview ¶
gvt, a simple go vendoring tool based on gb-vendor.
Usage:
gvt command [arguments]
The commands are:
fetch fetch a remote dependency rebuild rebuild dependencies from manifest update update a local dependency list list dependencies one per line delete delete a local dependency
Use "gvt help [command]" for more information about a command.
Fetch a remote dependency ¶
Usage:
gvt fetch [-branch branch | -revision rev | -tag tag] [-precaire] [-no-recurse] importpath
fetch vendors an upstream import path.
The import path may include a url scheme. This may be useful when fetching dependencies from private repositories that cannot be probed.
Flags:
-branch branch fetch from the name branch. If not supplied the default upstream branch will be used. -no-recurse do not fetch recursively. -tag tag fetch the specified tag. If not supplied the default upstream branch will be used. -revision rev fetch the specific revision from the branch (if supplied). If no revision supplied, the latest available will be supplied. -precaire allow the use of insecure protocols.
Rebuild dependencies from manifest ¶
Usage:
gvt rebuild
rebuild fetches the dependencies listed in the manifest.
It's meant for workflows that don't include checking in to VCS the vendored source, for example if .gitignore includes lines like
vendor/** !vendor/manifest
Note that such a setup requires "gvt rebuild" to build the source, relies on the availability of the dependencies repositories and breaks "go get".
Flags:
-precaire allow the use of insecure protocols.
Update a local dependency ¶
Usage:
gvt update [-all] import
update will replaces the source with the latest available from the head of the master branch.
Updating from one copy of a dependency to another comes with several restrictions. The first is you can only update to the head of the branch your dependency was vendored from, switching branches is not supported. The second restriction is if you have used -tag or -revision while vendoring a dependency, your dependency is "headless" (to borrow a term from git) and cannot be updated.
To update across branches, or from one tag/revision to another, you must first use delete to remove the dependency, then fetch [-tag | -revision | -branch ] [-precaire] to replace it.
Flags:
-all will update all dependencies in the manifest, otherwise only the dependency supplied. -precaire allow the use of insecure protocols.
List dependencies one per line ¶
Usage:
gvt list [-f format]
list formats the contents of the manifest file.
Flags:
-f controls the template used for printing each manifest entry. If not supplied the default value is "{{.Importpath}}\t{{.Repository}}{{.Path}}\t{{.Branch}}\t{{.Revision}}"
Delete a local dependency ¶
Usage:
gvt delete [-all] importpath
delete removes a dependency from the vendor directory and the manifest
Flags:
-all remove all dependencies