Lua-Datei der Anlage wird nicht geladen, wenn sie in Git eingecheckt wurde - Können geänderte Zeilenumbrüche Schuld sein?

Achte bitte darauf, dass Du mit deinem Thema bzw. mit deiner Frage im richtigen Bereich bist.
Die Bereiche sind: Einstellungen im Forum, EEP aktuell ab EEP7 , Splines, Rollmaterialien, Immobilien, Landschaftselemente, Signale und Schaltung, Anlagenvorstellungen, Schnappschüsse Konstrukteure, EEP Treffen , Laberecke, Online - Handbuch EEP Vielen Dank für die Unterstützung das Forum übersichtlich zu halten.
Bilder/Fotos aus dem Internet sind nur als Link gestattet. Eigene Fotos, also Fotos aus dem realen Leben, sind erstens mit Eigenes Bild als Quellenangabe zu kennzeichnen und zweitens nur als Dateianhang im Beitrag zulässig. Bilder ohne Quellenangaben und Bilder dessen Quelle das Internet wie z. B. Google ist, werden gelöscht.
  • Hallo,

    manchmal "vergessen" Anlagen ihre Lua-Dateien und setzen den Lua-Teil auf den Standardwert einer neuen Anlage zurück.

    Aufgefallen ist mir das insbesondere bei Anlagendateien, die mit EEPSaveData Daten ablegen. - Wenn ich mir die Datei genauer anschaue, fällt auf, dass beginnend mit der Zeile "[EEPLuaData]" die Zeilenumbrüche vom Windows-Format (CRLF) in das Linux-Format (LF) wechseln. Ändert ein externes Programm diese Zeilenumbrüche (z.B. Öffnen im Editor und ohne Änderung Speichern), wird die Lua-Datei nicht mehr von EEP eingelesen.

    Kann das jemand bestätigen?

    Viele Grüße,

    Andreas Kreuz.

    P.S. Grund / Lösung:

    Die Dateien habe ich mit dem Versionsverwaltungssystem "Git" eingecheckt. Immer nach einer solchen Aktion gehen sie nicht mehr zu öffnen.

    Der Grund ist, dass Git die Lua-Dateien als Text behandelt und selbständig dafür sorgt, dass die Zeilenumbrüche vereinheitlicht werden. Dieses Verhalten kann man abstellen, indem man Git Bescheid gibt, dass es für die Lua-Dateien der Anlage nicht passieren soll. Sie werden dann wie binäre-Dateien behandelt, was auch bedeutet, dass keine Unterschiede mehr bei "git diff" angezeigt werden.

    Lösung für alle, die Git verwenden wollen:

    Datei .gitattributes mit folgendem Inhalt anlegen

    Code: .gitattributes
    Anlage.lua      binary # Verhindert Änderungen von Zeilenumbrüchen
    Anlage.anl3     -diff  # Zeigt mit "git diff" Unterschiede nicht als Text an

    Webseite: Lua-Bibliothek für EEP (mit Tutorials)

    Mein Rechner

    EEP: Version 17 - PC: AMD Ryzen 5800X, 32 GB RAM, NVidia Geforce GTX 1080 Ti, Windows 11

    Einmal editiert, zuletzt von Andreas_Kreuz (26. November 2017 um 12:09) aus folgendem Grund: Ursache und Lösungsmöglichkeit ergänzt.

  • hallo Andreas

    Ja das kann ich bestätigen!

    Hatte zum testen meiner kleinen Bibliothek eine Testanlage erstellt, diese hatte in Lua lediglich meine Einträge aus dem letzten tröd! Beim letzten Laden war dann wider Standard drin. Obwohl die Lua Datei den richtigen Inhalt hatte, wurde dieser aber dann nicht geladen!

    Nochmals hineinkopiert und gespeichert, neu laden. Aber auch hier hat dies erst nach mehreren Versuchen geklappt.

    Gruß Reinhard

    Der Oldenburger :bd_1:

    EEP 9 - 17.2/2 | Home-Nos 17 und Blender 2.79 & 3.6 |Moodellkatalog | Bilder Scanner | Modell Explorer

    Desktop: Gigabyte Z790 Gaming | Intel i5-13600K | Corsair Venegance 32 GB DDR5 | Gigabyte GeForce RTX 4060 |1TB M.2 SSD + 2TB M. 2SSD + 2 x 1TB SSD

    LG 34WQ75X + Samsung S34J550WQR 3440x1440 | Win 11 Pro

  • Ich öffne die Lua-Anlagendatei immer mit dem Windows-Editor, damit hatte ich noch keine Schwierigkeiten, wenn es nur um das Lesen geht. Einträge habe ich damit auch schon abgeändert (Speicherzustände).

    MfG. Jörg
    Ausstattung: Notebook: i7-6700K, 4[8]x4.0 GHz, 32GB RAM DDR4, NVIDIA GTX 980M 8GB, Windows 10, 64-Bit
    Installiert: EEP17.2 Plugin 1 + 2

    Zusatzprogramme: ResourcenSwitcher2 (BH2), EEP-Gleisplan (Frank Buchholz)

  • Das Ganze ist kein Fehler, sondern eine Sache die einen Sinn verfolgt. In der LUA-Datei ist eine Checksumme hinterlegt. Diese wird NUR von EEP erzeugt und gelesen. Sobald man extern irgendetwas an der LUA-Datei ändert, oder auch nur so speichert, wird diese Checksumme nicht erzeugt und somit glaubt EEP, das die Checksumme fehlerhaft ist und führt das Script nicht mehr aus, sondern lädt ein Defaultskript. Es reicht, die Datei in den LUA-Editor zu laden (Achtung ! Hierbei ist der Menupunkt 'Lua-Script Laden' zu nutzen) wenn das richtige Script im Editor zu sehen ist, muss man 'Script neu laden' anklicken, dann wird es aktiviert. Beim nächsten speichern der Anlage wird die LUA-Datei von EEP inkl. der Checksumme gespeichert.


    Gruß

    Detlef

    Gruß

    Detlef

    EEP6.1, EEP17.0 Patch2

    Nos5, HN16, Modellkatalog, Tauschmanager, Hugo, ModellExplorer, ZugExplorer, Bilderscanner

    , Modellkonverter

    Alles was lediglich wahrscheinlich ist, ist wahrscheinlich falsch.

    Rene Descartes

  • Hallo,

    danke für Euer Feedback. Ich verwalte die Versionen meiner Anlagen mit einem Versionsverwaltungssystem ("git") und das hat immer dafür gesorgt, dass sich die Zeilenumbrüche alle an Linux angepasst haben.

    Jetzt habe "git" dazu überredet meine Zeilenumbrüche in Ruhe zu lassen und in Linux ein Skript geschrieben, welches den von EEP erwarteten Zeilenumbruch-Mix wieder herstellt, damit mir das nicht noch mal passiert.

    Nun kann ich die Anlagen wieder guten Gewissens für Euch einpacken, da ich weiß, warum Lua manchmal nicht geladen wurde.

    Vielen Dank und viele Grüße

    Andreas Kreuz.

    Webseite: Lua-Bibliothek für EEP (mit Tutorials)

    Mein Rechner

    EEP: Version 17 - PC: AMD Ryzen 5800X, 32 GB RAM, NVidia Geforce GTX 1080 Ti, Windows 11

  • Moinsen zusammen,

    Ich umgehe das Phänomen in sofern, das ich meine Scripte in Notepad++ schreibe und lediglich im EEP Lua Editor nur einen require Aufruf zur Datei schreibe. Damit kann ich die Dateien verändern, ohne das sich EEP an der Checksum stört.

    Gruß aus dem schönen Lochhofen in Bayern

    Martin

    Für die, die es interessieren könnte

    NB:

    Dell G7 17 - 7700

    Intel(R) Core(TM) i5 CPU der 10. Generation Windows 11 Pro

    20 GB RAM; NVIDIA(R) GeForce(R) GTX 1660 Ti 6 GB GDDR6

    PC:

    i7 3770 8-Thread CPU, 3.9 GHz | Windows 11 Pro

    32GB RAM| Geforce RTX 3050 8 GB DDR6

    EEP Versionen:

    EEP15.1, Pl.: 1

    EEP16.4; Pl. 1, 2,3 und 4,

    EEP17.2; Pl.: 1, 2

    HomeNos 16; 17; MK., ME; ZE; TM,

    MA1-Tools, NR1-Tools

    Das Leben ist einfach, aber wir bestehen darauf, es kompliziert zu machen

    Konfuzius