From ecf82c01313919f68599a7f1b37ceb1fea5f36c1 Mon Sep 17 00:00:00 2001 From: Ben Sarmiento Date: Fri, 27 Oct 2023 09:43:43 +0200 Subject: [PATCH] group order fix --- internal/config/v1.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/config/v1.go b/internal/config/v1.go index 56149e3..35dfa66 100644 --- a/internal/config/v1.go +++ b/internal/config/v1.go @@ -57,21 +57,21 @@ func (z *ZurgConfigV1) GetDirectories() []string { func (z *ZurgConfigV1) GetGroupMap() map[string][]string { var groupMap = make(map[string][]string) - var groupOrderMap = make(map[string]int) // To store GroupOrder for each group + var groupOrderMap = make(map[string]int) // To store GroupOrder for each directory // Populate the groupMap and groupOrderMap for directory, val := range z.Directories { groupMap[val.Group] = append(groupMap[val.Group], directory) - groupOrderMap[val.Group] = val.GroupOrder + groupOrderMap[directory] = val.GroupOrder } // Sort the slice based on GroupOrder and then directory name for deterministic order for group, dirs := range groupMap { sort.Slice(dirs, func(i, j int) bool { if groupOrderMap[dirs[i]] == groupOrderMap[dirs[j]] { - return dirs[i] > dirs[j] // Use directory name as secondary sort criterion + return dirs[i] < dirs[j] // Use directory name as secondary sort criterion } - return groupOrderMap[dirs[i]] > groupOrderMap[dirs[j]] + return groupOrderMap[dirs[i]] < groupOrderMap[dirs[j]] }) groupMap[group] = dirs }