]> ruderich.org/simon Gitweb - safcm/safcm.git/blobdiff - cmd/safcm/sync_sync.go
sync: remove duplicate "priority" from group priority log message
[safcm/safcm.git] / cmd / safcm / sync_sync.go
index 8b4cec45d0ba837cc490ac332a9b5d124883c136..6977edd584406247c9df8ebbd24d75ecfba5a31c 100644 (file)
@@ -66,8 +66,8 @@ func (s *Sync) hostSyncReq(detectedGroups []string) (
                return empty, err
        }
        {
-               // Don't leak internal group order which is confusing without
-               // knowing the implementation details.
+               // Don't leak internal group priority which is confusing
+               // without knowing the implementation details.
                groupsSorted := make([]string, len(groups))
                copy(groupsSorted, groups)
                sort.Strings(groupsSorted)
@@ -83,9 +83,9 @@ func (s *Sync) hostSyncReq(detectedGroups []string) (
                sort.Slice(priorities, func(i, j int) bool {
                        a := priorities[i]
                        b := priorities[j]
-                       return groupPriority[a] < groupPriority[b]
+                       return groupPriority[a] > groupPriority[b]
                })
-               s.logVerbosef("host group priorities (desc. order): %v",
+               s.logVerbosef("host group priorities (descending): %v",
                        strings.Join(priorities, " "))
        }
 
@@ -188,19 +188,19 @@ func (s *Sync) resolveHostGroups(detectedGroups []string) (
 
        // Early entries have higher priorities
        groupPriority := make(map[string]int)
-       for i, x := range s.config.GroupOrder {
-               groupPriority[x] = math.MinInt32 + i + 1
+       for i, x := range s.config.GroupPriority {
+               groupPriority[x] = len(s.config.GroupPriority) - i
        }
        // Host itself always has highest priority
-       groupPriority[s.host.Name] = math.MinInt32
+       groupPriority[s.host.Name] = math.MaxInt32
 
        // Sort groups after priority and name
        sort.Slice(groups, func(i, j int) bool {
                a := groups[i]
                b := groups[j]
-               if groupPriority[a] > groupPriority[b] {
+               if groupPriority[a] < groupPriority[b] {
                        return true
-               } else if groupPriority[a] < groupPriority[b] {
+               } else if groupPriority[a] > groupPriority[b] {
                        return false
                } else {
                        return a < b
@@ -220,7 +220,7 @@ func (s *Sync) checkFileConflict(group string, path string, file *safcm.File,
 
        newPrio := groupPriority[group]
        oldPrio := groupPriority[old.OrigGroup]
-       if oldPrio > newPrio {
+       if oldPrio < newPrio {
                if old.Mode.IsDir() && file.Mode.IsDir() &&
                        old.TriggerCommands != nil {
                        s.logDebugf("files: %q: "+
@@ -228,7 +228,7 @@ func (s *Sync) checkFileConflict(group string, path string, file *safcm.File,
                                path, group, old.OrigGroup)
                }
                return nil
-       } else if oldPrio < newPrio {
+       } else if oldPrio > newPrio {
                // Should never happen, groups are sorted by priority
                panic("invalid group priorities")
        }
@@ -242,7 +242,7 @@ func (s *Sync) checkFileConflict(group string, path string, file *safcm.File,
        }
 
        return fmt.Errorf("groups %s and %s both provide file %q\n"+
-               "Use 'group_order' in config.yaml to declare preference",
+               "Use 'group_priority' in config.yaml to declare preference",
                group, old.OrigGroup, path)
 }
 
@@ -257,9 +257,9 @@ func resolveFileDirConflicts(files map[string]*safcm.File) {
 
        const sep = string(filepath.Separator)
 
-       // Remove invalid paths which can result from group_order overriding
-       // paths from another group (e.g. "/foo" as file from one group and
-       // "/foo/bar" from another).
+       // Remove invalid paths which can result from group_priority
+       // overriding paths from another group (e.g. "/foo" as file from one
+       // group and "/foo/bar" from another).
        var last *safcm.File
        for _, x := range paths {
                file := files[x]