From b813667339b846924bb87a30f0c12bc998154ff6 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Mon, 14 Nov 2022 17:19:49 +0300 Subject: [PATCH] Explicitly process only unique targets --- ifchange.go | 11 +++++++++++ 1 file changed, 11 insertions(+) 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") -- 2.44.0