X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=ifchange.go;h=913ddba83ee8f5a1fc9db0c7fa4df1bf4e922066;hb=b813667339b846924bb87a30f0c12bc998154ff6;hp=922939b37a431eb9bc512a5949a84f1c1bda4c7e;hpb=57563aa2c8687505b458aaece342cb38c834e658;p=goredo.git diff --git a/ifchange.go b/ifchange.go index 922939b..913ddba 100644 --- a/ifchange.go +++ b/ifchange.go @@ -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")