# Immer mal wieder line ending Probleme



## ArkLut (14. Okt 2018)

Hi,

            Ich habe letztens wieder Probleme mit den Line Endings gehabt (Win vs Linux / NL vs CRNL).
            Dabei geht es um:
            - Java Applikation
            - gemischt mit Shell Skripts
            - in SVN
            - Entwickelt in IntelliJ Idea auf Windows
            - laufen auf Linux

Probleme gibt es z.b. wenn die Shell Skripts mit Windows Line endigs commited werden - dann können sie nicht ausgeführt werden.

Jetzt überlege ich mir wie ich das am besten in Zukunft verhindere.
Ich arbeite In IntelliJ Idea für die Java Applikationen - manchmal auch wenn ich die shell Skripts anpasse und wenn ich kleiner anlege.
Sonst nutze ich Notepad++.
als SVN client nutze ich Tortoise SVN.

Jetzt frage ich mich wie ich das in den Griff bekomme.
In Notepad++ kann ich für *.sh Files einstellen welche Line endigs zu verwenden sind - wenn sie neu sind.

In IntelliJ leider nicht da scheinbar nur allgemein - das will ich aber auch nicht, da ich keine changes haben will wenn sich nichts ändert - was aber in Java files so wäre wenn ich das generell einstellen würde.
was mir lieber wäre, das es eben nur bei shell Files so wäre.

für git gibt es soweit ich weis eine cofig damit das automatisch on commit bei allen files passiert.
Sowas denke ich aber ist auch schlecht, denn A automatisch ist bei changes nicht gut (weil man sonst vergisst woher die kommen und das Problem nicht findet (wenn eines erzeugt wird)).

Außerdem wenn man es erst nach dem Project Start einstellt hat man bei allen files changes - obwohl es keine signifikanten sind.

wie macht ihr das?


----------



## mihe7 (14. Okt 2018)

Ginge das nicht via https://wiki.apache.org/subversion/Inheritable-Ignores-AutoProps ?


----------



## mrBrown (14. Okt 2018)

IntelliJ berücksichtigt afaik die in .editorconfig gesetzten Lineendings, dort kann man das für einzelne Dateitypen einstellen.



ArkLut hat gesagt.:


> In IntelliJ leider nicht da scheinbar nur allgemein - das will ich aber auch nicht, da ich keine changes haben will wenn sich nichts ändert - was aber in Java files so wäre wenn ich das generell einstellen würde.


Das würde ich sogar explizit machen, in einem Rutsch alle Dateien auf LF umstellen.
Gemischt macht irgendwann immer Probleme, und nur LF funktioniert einfach am besten.



Konfiguriert ist das ganze über git und mit .editorconfig, das dürfte so ziemlich alles abdecken.Durchgesetzt wird das bei mir (bzw uns) mit'm CI-Server, CRLF führt da zu nem fehlschlagendem Build.


----------



## ArkLut (15. Okt 2018)

mihe7 hat gesagt.:


> Ginge das nicht via https://wiki.apache.org/subversion/Inheritable-Ignores-AutoProps ?


ah, das das so geht wusste ich nicht - das muss ich mir ansehen.



mrBrown hat gesagt.:


> Das würde ich sogar explizit machen, in einem Rutsch alle Dateien auf LF umstellen.
> Gemischt macht irgendwann immer Probleme, und nur LF funktioniert einfach am besten.


Nein, das eben hier nicht - aber das hat andere gründe (die mich auch nerven) - aber das ist für die Funktion ohnehin egal.



mrBrown hat gesagt.:


> Konfiguriert ist das ganze über git und mit .editorconfig, das dürfte so ziemlich alles abdecken.Durchgesetzt wird das bei mir (bzw uns) mit'm CI-Server, CRLF führt da zu nem fehlschlagendem Build.


Über welchen Machanismuss machst du / macht ihr das am CI server - habt ihr Jenkins?


----------



## mrBrown (15. Okt 2018)

ArkLut hat gesagt.:


> Über welchen Machanismuss machst du / macht ihr das am CI server - habt ihr Jenkins?


Ja, größtenteils Jenkins.

Für Javadateien mit Checkstyle, da führen alle Warnungen zu nem Build-Failure. Für alles andere geht ein einfaches Bah-Skript, was einfach nach den entsprechenden Line-Endings grept


----------

