fix: remove duplicates correctly

This commit is contained in:
2025-03-13 16:24:37 +03:00
parent 9cb0a5e9ad
commit db244204c7
5 changed files with 69 additions and 49 deletions

View File

@ -313,3 +313,24 @@ func removeDuplicates(slice []string) []string {
return result
}
func removeDuplicatesSources(sources, checksums []string) ([]string, []string) {
seen := map[string]string{}
keys := make([]string, 0)
for i, s := range sources {
if val, ok := seen[s]; !ok || strings.EqualFold(val, "SKIP") {
if !ok {
keys = append(keys, s)
}
seen[s] = checksums[i]
}
}
newSources := make([]string, len(keys))
newChecksums := make([]string, len(keys))
for i, k := range keys {
newSources[i] = k
newChecksums[i] = seen[k]
}
return newSources, newChecksums
}