X-Git-Url: https://ruderich.org/simon/gitweb/?p=safcm%2Fsafcm.git;a=blobdiff_plain;f=cmd%2Fsafcm%2Fsync_sync.go;h=f07d07f68f4e901c57d78239f78c27cc21bd5bd5;hp=930a263998566c3a71563b30c1e374f6ada06ecb;hb=22b2572ad75a0bf6fb93a4655e71cf04328ec2a9;hpb=c82fb9a1ad0301b1f5465944df05ee01937e6e3f diff --git a/cmd/safcm/sync_sync.go b/cmd/safcm/sync_sync.go index 930a263..f07d07f 100644 --- a/cmd/safcm/sync_sync.go +++ b/cmd/safcm/sync_sync.go @@ -83,7 +83,7 @@ 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. priority): %v", strings.Join(priorities, " ")) @@ -189,18 +189,18 @@ func (s *Sync) resolveHostGroups(detectedGroups []string) ( // Early entries have higher priorities groupPriority := make(map[string]int) for i, x := range s.config.GroupPriority { - groupPriority[x] = math.MinInt32 + i + 1 + 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") }