Мы используем Gerrit 2.11, чтобы добавить метку одобрения менеджера, если введенный код превышает определенный порог. пролог rules.pl, как показано ниже.
Я могу удалить «Менеджер-одобрение», используя строку 7 и строку комментария 8; но если прокомментирована строка 7 и активная строка 8, «утверждение менеджера» всегда там.
Если я собираюсь использовать следующую строку для замены строки 8, там также есть утверждение менеджера, означает ли это, что commit_stats()
всегда возвращает true
, и строка 8 не будет запускать вызов remove_verified()
?
Мы новички в прологе, Любой ад будет с благодарностью.
remove_verified ([метка ('утверждение менеджера', _) | T], R): - вставлено = 10, вставлено> 5, remove_verified (T, R),!.
submit_rule(S) :-
gerrit:default_submit(X),
X =.. [submit | Ls],
remove_verified(Ls, R),
S =.. [submit | R].
remove_verified([], []).
%remove_verified([label('Manager-Approval', _) | T], R) :- remove_verified(T, R), !.
remove_verified([label('Manager-Approval', _) | T], R) :- gerrit:commit_stats(_, inserted, _), inserted > 5, remove_verified(T, R), !.
remove_verified([H|T], [H|R]) :- remove_verified(T, R).