]> Cypherpunks.ru repositories - goredo.git/commitdiff
Explicitly process only unique targets
authorSergey Matveev <stargrave@stargrave.org>
Mon, 14 Nov 2022 14:19:49 +0000 (17:19 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Mon, 14 Nov 2022 14:57:19 +0000 (17:57 +0300)
ifchange.go

index 922939b37a431eb9bc512a5949a84f1c1bda4c7e..913ddba83ee8f5a1fc9db0c7fa4df1bf4e922066 100644 (file)
@@ -179,6 +179,17 @@ RebuildDeps:
 }
 
 func ifchange(tgts []string, forced, traced bool) (bool, error) {
+       // only unique elements
+       m := make(map[string]struct{})
+       for _, t := range tgts {
+               m[t] = struct{}{}
+       }
+       tgts = tgts[:0]
+       for t := range m {
+               tgts = append(tgts, t)
+       }
+       m = nil
+
        jsInit()
        if !IsTopRedo {
                defer jsAcquire("ifchange exiting")