func commitRefsFromSet(set types.Set) []types.Ref { res := []types.Ref{} set.IterAll(func(v types.Value) { res = append(res, v.(types.Ref)) }) return res }
func getAncestors(commits types.Set, vr types.ValueReader) types.Set { ancestors := types.NewSet() commits.IterAll(func(v types.Value) { r := v.(types.Ref) c := r.TargetValue(vr).(types.Struct) next := []types.Value{} c.Get(ParentsField).(types.Set).IterAll(func(v types.Value) { next = append(next, v) }) ancestors = ancestors.Insert(next...) }) return ancestors }