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 }