Fixed #324: Glide tries to update ignored package
diff --git a/repo/installer.go b/repo/installer.go
index bebc3df..f14b595 100644
--- a/repo/installer.go
+++ b/repo/installer.go
@@ -118,8 +118,8 @@
return newConf, nil
}
- ConcurrentUpdate(newConf.Imports, cwd, i)
- ConcurrentUpdate(newConf.DevImports, cwd, i)
+ ConcurrentUpdate(newConf.Imports, cwd, i, newConf)
+ ConcurrentUpdate(newConf.DevImports, cwd, i, newConf)
return newConf, nil
}
@@ -131,12 +131,12 @@
dest := i.VendorPath()
- if err := ConcurrentUpdate(conf.Imports, dest, i); err != nil {
+ if err := ConcurrentUpdate(conf.Imports, dest, i, conf); err != nil {
return err
}
if useDev {
- return ConcurrentUpdate(conf.DevImports, dest, i)
+ return ConcurrentUpdate(conf.DevImports, dest, i, conf)
}
return nil
@@ -196,7 +196,7 @@
msg.Warn("dev imports not resolved.")
}
- err = ConcurrentUpdate(conf.Imports, vpath, i)
+ err = ConcurrentUpdate(conf.Imports, vpath, i, conf)
return err
}
@@ -239,7 +239,7 @@
}
// ConcurrentUpdate takes a list of dependencies and updates in parallel.
-func ConcurrentUpdate(deps []*cfg.Dependency, cwd string, i *Installer) error {
+func ConcurrentUpdate(deps []*cfg.Dependency, cwd string, i *Installer, c *cfg.Config) error {
done := make(chan struct{}, concurrentWorkers)
in := make(chan *cfg.Dependency, concurrentWorkers)
var wg sync.WaitGroup
@@ -275,8 +275,10 @@
}
for _, dep := range deps {
- wg.Add(1)
- in <- dep
+ if !c.HasIgnore(dep.Name) {
+ wg.Add(1)
+ in <- dep
+ }
}
wg.Wait()
diff --git a/repo/set_reference.go b/repo/set_reference.go
index f171813..2856b89 100644
--- a/repo/set_reference.go
+++ b/repo/set_reference.go
@@ -43,8 +43,10 @@
}
for _, dep := range conf.Imports {
- wg.Add(1)
- in <- dep
+ if !conf.HasIgnore(dep.Name) {
+ wg.Add(1)
+ in <- dep
+ }
}
wg.Wait()