Da ich nun seit einigen Jahren für TYPO3 Extensions entwickle, und ich vor kurzem auf die TYPO3 Sniffs für den PHP_CodeSniffer
gestoßen bin, wollte ich diese nun natürlich auch einsetzten. Dies war
auch ohne Schwierigkeiten möglich, jedoch sind die Verstöße bei einem
über mehrere Jahre gewachsenen Projekt sehr umfangreich.
Daher
habe ich erst einmal ein Regelset zusammengestellt, bei welchem ich
dachte, dass mindestens 90% der Regeln eingehalten werden. Eine dieser
Regeln, von denen ich dachte, dass ich sie einhalte, besagt, dass
Zeilenumbrüche nur im Unix Stil aus einen Zeilenvorschub (Line Feed – LF) bestehen sollen, und nicht Windows üblich aus einem Carriage Return und einem Line Feed (CR-LF).
Gemäß dieser Vorgabe hatte ich mein Eclipse auch eingerichtet (unter “Window”-> “Preferences”-> “General”-> “Workspace”), und mich dementsprechend gewundert, als sich der CodeSniffer beschwerte, dass die Zeilenumbrüche doch bitte nur aus LF und nicht aus CRLF bestehen dürfen. Nach ein wenig Verwunderung, Suche und Analyse fand ich dann die Ursache: beim committen in unser SVN Repository wurde mittels Auto-Properties die Eigenschaft svn:eof-style auf native gesetzt, was für Windows natürlich bedeutet, dass beim committen die Zeilenumbrüche automatisch auf CRLF umgestellt werden. Wie man dies verhindert, und wie man die Einstellungen bereits vorhandener Dateien anpasst habe ich daher nun kurz in einem neuen Tutorial beschrieben.