#v80 (2018/01/26)
- Address lin/vet feedback.
#v79 (2017/02/01)
- Fixes #531: fullPackageInDir didn't capture the error from fillPackage()
#v78 (2017/01/19)
- Don't use build.ImportDir when discovering packages for the package spec. Fixes #529
#v77 (2017/01/13)
- Don't include quotes around hg revisions
#v76 (2017/01/10)
- Default to vendor being on unless older go versions.
#v75 (2016/11/02)
- Add "AUTHORS" and "CONTRIBUTORS" to legal files list: tools#522
#v74 (2016/06/01)
- Enable vendor/ on go1.7
- No longer use a godep workspace, use vendor/ (yay!)
- Notify that support for Godep workspaces will be removed once go1.8 ships
#v73 (2016/05/31)
- Fix permission changes on Windows via @alexbrand. Closes #481.
#v72 (2016/05/27)
- Improve handling of git remote show origin. Should help in cases where remote HEAD is ambiguous.
- Add ISSUE_TEMPLATE
#v71 (2016/05/24)
- Preserve permissions on copied files.
#v70 (2016/05/20)
- Fix the May changelog dates
- No need to call build.Import, we already have the root of the dependency. Fixes an additional comment on #365
#v69 (2016/05/16)
- Make sure
devel-<short sha>
enabledvendor/
unless there is a classic Godep _workspace already.
#v68 (2016/05/16)
devel-<short sha>
is always considered newer than any released go version
#v67 (2016/05/13)
- Attempt to handle missing deps a little better.
#v66 (2016/05/10)
- Use
git remote show origin
to find the default branch when restoring a git based package repository that is in detached head state
#v65 (2016/05/09)
- Rewrite update so that it considers new transitive dependencies, both in the same repo and outside of it.
#v64 (2016/05/09)
- godep update golang.org/x/tools/go/vcs
#v63 (2016/05/03)
- Support recording devel- so development versions of Go can be matched
#v62 (2016/04/07)
- Note new go1.6+ behavior of not checking out master in README / restore help text.
#v61 (2016/04/06)
- Obey go version build tags based on recorded major go version. Fixes #448.
#v60 (2016/03/18)
- Make the $GOPATH check a warning.
#v59 (2016/03/18)
- Enforce requirement to be inside of a go src directory. A lot of time is usually spent tracking down bug reports where people are doign stuff from outside of their $GOPATH. This should help with that, at least until there it time to properly test godep use outside of a $GOPATH and fix the issues.
#v58 (2016/03/15)
- Add GodepVersion to Godeps.json file so that as godep changes / adds features / fixes bugs we can know which version of godep most recently wrote out the file.
#v57 (2016/03/07)
- Don't use
git rev-parse --show-toplevel
to determine git repo roots as it resolves symlinks: tools#418
- replace path comparisons with case insensitive pathEqual()
- add versionString() to debug output
- Send log output to Stderr
- re-saved deps to clean out extra stuff (see v54; godep restore; godep save -r=false; rm -rf Godeps; godep save -r). We're still using a workspace with rewrites so users of older go version can still go get this tool.
- Replace simple == with strings.EqualFold in listFiles to avoid problems with case insensitive filesystems ("Code" != "code" when doing a byte by byte comparison)
- Update some docs around vendor/
- More precise recording of dependencies. Removed recursive copying of sub directories of a package (precise vendoring). This should allow using
./...
with the go tool for compilation of project usingvendor/
. See tools#415
- Disable VendorExperiment if a godep workspace already exists.
- Trim 'rc' out of go version strings when determining major version.
- Trim 'beta' out of go version strings when determining major version.
- More verbose output on save -v.
- Add UK spelling license/licence to the pile + fix up a bunch of typos
- Clarify tag handling in docs
- Abort restore if there is no $GOPATH set.
- Dev versions of go should honor the current meaning of GO15VENDOREXPERIMENT
- Record "devel" when the release is a devel release of go (compiled from git).
- Upcase windows drive letters before comparing. Fixes #383.
- Clean package roots when attempting to find a vendor directory so we don't loop forever.
- Fixes 382
- Better error messages when parsing Godeps.json: Fixes #372
- Fix a bunch of GO15VENDOREXPERIMENT issues
- Find package directories better. Previously we used build.FindOnly which didn't work the way I expected it to (any dir would work w/o error).
- Set the VendorExperiment bool based on go version as 1.6 defaults to on.
- A bunch of extra debugging for use while sanity checking myself.
- vendor flag for test structs.
- Some tests for vendor/ stuff:
- Basic Test
- Transitive
- Transitive, across GOPATHs + collapse vendor/ directories.
- Should Fix #358
- Don't rewrite packages outside of the project. This would happen if you specified
an external package for vendoring when you ran
goodep save -r ./... github.com/some/other/package
- When downloading a dependency, create the base directory if needed.
- Record only the major go version (ex. go1.5) instead of the complete string.
- Replace
go get
, further fix up restore error handling/reporting.- Fixes #186
- Don't bother restoring/downloading if already done.
- Change up how download/restore works a little
- Try to load the package after downloading/restoring. Previously that was done too early in the process.
- make previous verbose output debug output
- report a typed error instead of a string from listPackage so it can be asserted to provide a nicer error.
- Catch go get errors that say there are no go files found. See code comment as to why.
- do all downloading during download phase.
- Fixes #358: Using wrong variable. Will add test after release.
- Fixes #356: Major performance regressions in v34
- Enable cpu profiling via flag on save.
- Cache packages by dir
- Don't do a full import pass on deps for packages in the GOROOT
- create a bit less garbage at times
- Generalize -v & -d flags
- We now use build.Context to help locate packages only and do our own parsing (via go/ast).
- Fixes reported issues caused by v33 (Removal of
go list
):- #345: Bug in godep restore
- #346: Fix loading a dot package
- #348: Godep save issue when importing lib/pq
- #350: undefined: build.MultiplePackageError
- #351: stow away helper files
- #353: cannot find package "appengine"
- Don't process imports of
.go
files tagged with theappengine
build tag.
- Don't process imports of
- Replace the use of
go list
. This is a large change although all existing tests pass.- Don't process the imports of
.go
files with theignore
build tag.
- Don't process the imports of
- Eval Symlinks in Contains() check.
- In restore, mention which package had the problem -- @shurcool
- Add
-t
flag to thegodep get
command.
- Temp work around to fix issue with LICENSE files.
- Make
version
an actual command.
- run command once during restore -v
- Better fix for the issue fixed in v25: All update paths are now path.Clean()'d
godep update package/
==godep update package
. Fixes #313
- Honor -t during update. Fixes #312
- Do not use --debug to find full revision name for mercurial repositories
- s/GOVENDOREXPERIMENT/GO15VENDOREXPERIMENT :-(
- Fix #310: Case insensitive fs issue
- Attempt to include license files when vendoring. (@client9)
- Fix conflict error message. Revisions were swapped. Also better selection of package that needs update.
- Improve error message when trying to save a conflicting revision.
- Fix for v16 bug. All vcs list commands now produce paths relative to the root of the vcs.
- Determine repo root using vcs commands and use that instead of dep.dir
- Update .travis.yml file to do releases to github
- Don't print out a workspace path when GO15VENDOREXPERIMENT is active. The vendor/ directory is not a valid workspace, so can't be added to your $GOPATH.
- Do restores in 2 separate steps, first download all deps and then check out the recorded revisions.
- Update Changelog date format
- Extract errors into separate file.
- Amend code to pass golint.
- Analyse vendored package test dependencies.
- Update documentation.
- Don't save test dependencies by default.
- Reorganize code.
- Add verbose flag.
- Skip untracked files.
- Add VCS list command.
- Revert ignoring testdata directories and instead ignore it while processing Go files and copy the whole directory unmodified.
- Fix vcs selection in restore command to work as go get does
- Remove the deprecated copy option.
- Ignore testdata directories
- Include command line packages in the set to copy
This is a simplification to how we define the behavior of the save command. Now it has two distinct package parameters, the "root set" and the "destination", and they have clearer roles. The packages listed on the command line form the root set; they and all their dependencies will be copied into the Godeps directory. Additionally, the destination (always ".") will form the initial list of "seen" import paths to exclude from copying.
In the common case, the root set is equal to the destination, so the effective behavior doesn't change. This is primarily just a simpler definition. However, if the user specifies a package on the command line that lives outside of . then that package will be copied.
As a side effect, there's a simplification to the way we add packages to the initial "seen" set. Formerly, to avoid copying dependencies unnecessarily, we would try to find the root of the VCS repo for each package in the root set, and mark the import path of the entire repo as seen. This meant for a repo at path C, if destination C/S imports C/T, we would not copy C/T into C/S/Godeps. Now we don't treat the repo root specially, and as mentioned above, the destination alone is considered seen.
This also means we don't require listed packages to be in VCS unless they're outside of the destination.
- godep version command
Output the version as well as some godep runtime information that is useful for debugging user's issues.
The version const would be bumped each time a PR is merged into master
to ensure that we'll be able to tell which version someone got when they
did a go get github.com/tools/godep
.
Many and more, see git log -p