Merge pull request #1054 from erikwilson/sort-deployments

Use lexical (sorted) order for file deployments
This commit is contained in:
Erik Wilson 2019-11-12 16:51:24 -07:00 committed by GitHub
commit d383d1b47e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -10,6 +10,7 @@ import (
"io/ioutil" "io/ioutil"
"os" "os"
"path/filepath" "path/filepath"
"sort"
"strings" "strings"
"time" "time"
@ -97,15 +98,20 @@ func (w *watcher) listFilesIn(base string, force bool) error {
} }
skips := map[string]bool{} skips := map[string]bool{}
for _, file := range files { keys := make([]string, len(files))
keyIndex := 0
for path, file := range files {
if strings.HasSuffix(file.Name(), ".skip") { if strings.HasSuffix(file.Name(), ".skip") {
skips[strings.TrimSuffix(file.Name(), ".skip")] = true skips[strings.TrimSuffix(file.Name(), ".skip")] = true
} }
keys[keyIndex] = path
keyIndex++
} }
sort.Strings(keys)
var errs []error var errs []error
for path, file := range files { for _, path := range keys {
if skipFile(file.Name(), skips) { if skipFile(files[path].Name(), skips) {
continue continue
} }
if err := w.deploy(path, !force); err != nil { if err := w.deploy(path, !force); err != nil {