cpack_repository/commit
Make GIT output handling string-safe
author | Jan Wielemaker |
---|---|
Thu Dec 19 10:04:06 2013 +0100 | |
committer | Jan Wielemaker |
Thu Dec 19 10:04:06 2013 +0100 | |
commit | c3d2138cb92d83cc4a07ee94edbe6f05d1100213 |
tree | ff355750f82118c173ce5f3b236147f27f0c0f88 |
parent | 2335159535ba3fdc8b0989804be120d684743a6d |
Diff style: patch stat
diff --git a/components/cpack.pl b/components/cpack.pl index f78390a..f839e65 100644 --- a/components/cpack.pl +++ b/components/cpack.pl @@ -337,10 +337,17 @@ diff_lines([Line|T], Diff) --> diff_lines(T, Diff) ). +:- if(current_predicate(string_codes/2)). +term_expansion(diff_line_class(Start, Diff, Class), + diff_line_class(Codes, Diff, Class)) :- + string_codes(Start, ClosedCodes), + append(ClosedCodes, _, Codes). +:- else. term_expansion(diff_line_class(Start, Diff, Class), diff_line_class(Codes, Diff, Class)) :- is_list(Start), append(Start, _, Codes). +:- endif. diff_line_class("diff ", patch, diff). diff_line_class("--- ", patch, a). @@ -363,12 +370,14 @@ dirstat(File, Sep, [D0|RD], Plusses, Minus) --> string(Sep), digit(D0),digits(RD), " ", - codes("+", Plusses), - codes("-", Minus). + plusses(Plusses), + minuss(Minus). -codes(Set, [H|T]) --> [H], { memberchk(H, Set) }, !, codes(Set, T). -codes(_, []) --> []. +plusses([0'+|T]) --> "+", !, plusses(T). +plusses([]) --> []. +minuss([0'+|T]) --> "-", !, minuss(T). +minuss([]) --> []. tr_commit(Label, Field, Record) --> { commit_data(Field, Record, Value) },