cpack_repository/commit
FIXED: Ignore unknown git entries (e.g., submodules).
author | Jan Wielemaker |
---|---|
Fri Sep 19 17:05:31 2014 +0200 | |
committer | Jan Wielemaker |
Fri Sep 19 17:05:31 2014 +0200 | |
commit | 4b4597155458ac2bbb2ea06d62c6bfe24d37a94c |
tree | 98b7021b29d253218c7b7d4026e8a8b89747750b |
parent | b8fc2adf4a2fdb3b7efdd4e52a2e11906a2dda13 |
Diff style: patch stat
diff --git a/lib/cpack/repository.pl b/lib/cpack/repository.pl index c49a000..e4dc560 100644 --- a/lib/cpack/repository.pl +++ b/lib/cpack/repository.pl @@ -278,7 +278,16 @@ read_files(Graph, In) :- read_files(end_of_file, _, _) :- !. read_files(Line, Graph, In) :- - phrase(file_l(_Mode, _Type, _Hash, Size, FileName), Line), + ( read_file(Line, Graph) + -> true + ; gtrace, + read_file(Line, Graph) + ), + read_line_to_codes(In, Line2), + read_files(Line2, Graph, In). + +read_file(Line, Graph) :- + phrase(file_l(_Mode, _Type, _Hash, Size, FileName), Line), !, atom_number(SizeAtom, Size), file_base_name(FileName, BaseName), file_base(FileName , BaseID), @@ -289,9 +298,10 @@ read_files(Line, Graph, In) :- rdf_assert(File, cpack:base, literal(BaseID), Graph), rdf_assert(File, cpack:size, literal(type(xsd:integer, SizeAtom)), Graph), rdf_assert(File, cpack:inPack, Graph, Graph), - rdf_assert(File, rdf:type, Class, Graph), - read_line_to_codes(In, Line2), - read_files(Line2, Graph, In). + rdf_assert(File, rdf:type, Class, Graph). +read_file(Line, _Graph) :- + string_codes(String, Line), + print_message(warning, cpack(ignored_git_entry(String))). file_base(Path, Base) :- file_base_name(Path, File), @@ -700,6 +710,8 @@ prolog:message(cpack(updated(Graph, Hash0, Hash1))) --> ). prolog:message(cpack(clone(Name, _Options))) --> [ 'Cloning CPACK ~w ...'-[Name] ]. +prolog:message(cpack(ignored_git_entry(Line))) --> + [ 'Ignored GIT entry "~s"'-[Line] ]. package_name(Graph) --> { rdf_has(Graph, cpack:name, Literal),