Fixed #186: glide up PACKAGE was failing to generate a proper glide.lock file.
diff --git a/CHANGELOG.md b/CHANGELOG.md index 9363a10..64b86e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md
@@ -6,6 +6,7 @@ - Fixed issue in deduping and sub-package names. - Fixed #189: nested dependencies that do not contain VCS information were not being updated properly when --updated-vendored was being used. +- Fixed #186: glide up PACKAGE was failing to generate a proper glide.lock file. # Release 0.8.2 (2015-12-21)
diff --git a/cmd/get_imports.go b/cmd/get_imports.go index 8eafe64..3e70f29 100644 --- a/cmd/get_imports.go +++ b/cmd/get_imports.go
@@ -142,6 +142,26 @@ for _, dep := range cfg.Imports { if restrict && !pkgs[dep.Name] { Debug("===> Skipping %q", dep.Name) + + // Even though skipping check if the package exists and has VCS info + // needed for other operations. + dest := path.Join(cwd, dep.Name) + if _, err := os.Stat(dest); os.IsNotExist(err) { + Warn("Package %s not checked out to vendor/ folder", dep.Name) + Error("Unable to generate accurate glide.lock because %s is missing", dep.Name) + } else { + empty, err := isDirectoryEmpty(dest) + _, err2 := v.DetectVcsFromFS(dest) + if err != nil || empty == true { + Warn("Package %s not checked out to vendor/ folder. Directory empty", dep.Name) + Error("Unable to generate accurate glide.lock because %s is missing", dep.Name) + continue + } else if empty == false && err2 == v.ErrCannotDetectVCS { + Warn("%s appears to be a vendored package missing version control data", dep.Name) + Error("Unable to generate accurate glide.lock because %s version control data is missing", dep.Name) + } + } + continue }
diff --git a/glide.go b/glide.go index 223b13a..0ecd89b 100644 --- a/glide.go +++ b/glide.go
@@ -613,7 +613,7 @@ Using("useGopath").From("cxt:useGopath"). Does(cmd.SetReference, "version").Using("conf").From("cxt:cfg"). Does(cmd.Flatten, "flattened").Using("conf").From("cxt:cfg"). - Using("packages").From("cxt:packages"). + //Using("packages").From("cxt:packages"). Using("force").From("cxt:forceUpdate"). Using("skip").From("cxt:skipFlatten"). Using("home").From("cxt:home").