Преглед на файлове

Make ReindexNode deterministic

Vadim Markovtsev преди 7 години
родител
ревизия
3caa972734
променени са 1 файла, в които са добавени 6 реда и са изтрити 3 реда
  1. 6 3
      toposort/toposort.go

+ 6 - 3
toposort/toposort.go

@@ -79,10 +79,13 @@ func (g *Graph) ReindexNode(node string) {
 	if !ok {
 		return
 	}
-	i := 1
+	keys := []string{}
 	for key := range children {
-		children[key] = i
-		i++
+		keys = append(keys, key)
+	}
+	sort.Strings(keys)
+	for i, key := range keys {
+		children[key] = i + 1
 	}
 }