# Default behavior: if Git thinks a file is text (as opposed to binary), it # will normalize line endings to LF in the repository, but convert to your # platform's native line endings on checkout (e.g., CRLF for Windows). * text=auto # Explicitly declare text files you want to always be normalized and converted # to native line endings on checkout. E.g., # *.txt text # Declare files that will always have CRLF line endings on checkout. E.g., #*.slnx text eol=crlf # Declare files that will always have LF line endings on checkout. E.g., *.sh text eol=lf *.json text eol=lf # The WoT Binding specification examples are vendored byte-for-byte from the # specification repository and their SHA-256 hashes are pinned in # tests/Opc.Ua.Types.Tests/Wot/Assets/spec-examples.manifest.json. Keep them at # LF on every platform so the checked-out bytes are the upstream bytes. *.jsonld text eol=lf # The generated pump XML must match its checked-in bytes on every platform. samples/WotCon/AggregationClient/Documents/SamplePump.NodeSet2.xml text eol=lf # The OPC 10000-110 AMB NodeSet is vendored unmodified and its SHA-256 is pinned in # tests/Opc.Ua.AMB.Tests/AmbModelTests.cs, so the checked-out bytes must be the # upstream bytes on every platform. src/Opc.Ua.AMB/Model/Opc.Ua.AMB.NodeSet2.xml text eol=lf # Denote all files that should not have line endings normalized, should not be # merged, and should not show in a textual diff. *.docm binary *.docx binary *.ico binary *.lib binary *.png binary *.pptx binary *.snk binary *.vsdx binary *.xps binary # OPC UA *.uanodes binary # Preserve official NodeSet artifacts byte-for-byte. src/Opc.Ua.Positioning/Model/*.csv binary src/Opc.Ua.Positioning/Model/*.xml binary # Preserve the release-pinned Machine Vision inputs and their provenance hashes. src/Opc.Ua.Vision/Model/Opc.Ua.MachineVision*.NodeSet2.xml -text src/Opc.Ua.Vision/Model/Opc.Ua.MachineVision*.Upstream.NodeIds.csv -text src/Opc.Ua.MachineVision/Model/Opc.Ua.MachineVision*.NodeSet2.xml -text src/Opc.Ua.MachineVision/Model/Opc.Ua.MachineVision*.Upstream.NodeIds.csv -text # Preserve pinned plastics/rubber inputs and the reproducibly authored common model. # Their upstream license banners include trailing spaces covered by the byte-level hashes. # TODO: revisit the whitespace exception if upstream republishes these inputs without it. src/Opc.Ua.PlasticsRubber/Model/*.NodeSet2.xml -text whitespace=-blank-at-eol src/Opc.Ua.PlasticsRubber/Model/Basis/*.NodeSet2.xml -text whitespace=-blank-at-eol src/Opc.Ua.PlasticsRubber/Model/*.NodeIds.csv -text whitespace=cr-at-eol src/Opc.Ua.Extrusion/*/Model/*.NodeSet2.xml -text whitespace=-blank-at-eol src/Opc.Ua.Extrusion/*/Model/*.NodeIds.csv -text whitespace=cr-at-eol src/Opc.Ua.PlasticsRubber/GranulateDrying/Model/*.NodeSet2.xml -text whitespace=-blank-at-eol src/Opc.Ua.PlasticsRubber/GranulateDrying/Model/*.NodeIds.csv -text whitespace=cr-at-eol # Fuzz seed corpora, crash/timeout/slow reproducers and the vendored original # fork messages are exact byte sequences, not documents. Line-ending translation # changes their length and SHA-256, breaks the byte-exact provenance assertions, # and makes a corpus exercise different code paths on Windows than on Linux, so # git must never normalize them. fuzzing/*.Fuzz.Corpus/** binary fuzzing/*.Fuzz.Tests/Assets/** binary