Fastpath for when we have dependency locally
diff --git a/repo/installer.go b/repo/installer.go
index bb46db2..9d7d722 100644
--- a/repo/installer.go
+++ b/repo/installer.go
@@ -368,7 +368,13 @@
newDeps := []*cfg.Dependency{}
for _, dep := range deps {
- destPath := filepath.Join(i.VendorPath(), dep.Name)
+
+ key, err := cache.Key(dep.Remote())
+ if err != nil {
+ newDeps = append(newDeps, dep)
+ continue
+ }
+ destPath := filepath.Join(cache.Location(), "src", key)
// Get a VCS object for this directory
repo, err := dep.GetRepo(destPath)
@@ -382,10 +388,12 @@
newDeps = append(newDeps, dep)
continue
}
-
- if ver == dep.Reference {
- msg.Info("--> Found desired version %s %s!", dep.Name, dep.Reference)
- continue
+ if dep.Reference != "" {
+ ci, err := repo.CommitInfo(dep.Reference)
+ if err == nil && ci.Commit == dep.Reference {
+ msg.Info("--> Found desired version locally %s %s!", dep.Name, dep.Reference)
+ continue
+ }
}
msg.Debug("--> Queue %s for update (%s != %s).", dep.Name, ver, dep.Reference)