Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   github und LF CRLF (https://www.delphipraxis.net/217406-github-und-lf-crlf.html)

Renate Schaaf 24. Jun 2025 13:25

github und LF CRLF
 
Ich habe fast jedesmal Probleme, wenn ich von Github reruntergeladene .pas oder .dpr bearbeite. Sowie ich Code-completion benutze, werden Funktionen an der falschen Stelle eingefügt (ffunction, und das f fehlt dann in der nächsten function). Das liegt daran, dass meine Änderungen CRLF in einen text mit LF einfügen. Github braucht LF, um code ordentlich anzuzeigen, Delphi erwartet CRLF, soweit verstehe ich das, denke ich.
Aber eigentlich ist doch in Optionen schon eingestellt, dass LF in CRLF umgewandelt werden soll. Das funktioniert aber nur, wenn ich eine Änderung vornehme, speichere, Delphi neustarte. Das kanns doch irgendwie nicht sein?

Und wie verhindere ich, dass jemand, der mein repo runterlädt genau diese Probleme hat? .gitattributes?

Vielleicht kann jemand mit mehr Erfahrung mir helfen, Github scares me.

Renate

himitsu 24. Jun 2025 14:10

AW: github und LF CRLF
 
siehe https://git-scm.com/docs/git-config
und https://git-scm.com/docs/gitattributes

core.safecrlf = true
core.autocrlf = false

und zusätzlich vielleicht noch

core.ignorecase = true
core.hidedotfiles = false
core.protectntfs = true
core.protecthfs = true



Alternativ im .gitattributes für *.pas, *.dfm usw. das CRLF explizit vorgeben oder auf binary umstellen.

Der schöne Günther 24. Jun 2025 14:15

AW: github und LF CRLF
 
Zitat:

Zitat von Renate Schaaf (Beitrag 1549666)
Das liegt daran, dass meine Änderungen CRLF in einen text mit LF einfügen.

Ist das der Grund? Ich habe das ständig, seit vielen Jahren, und ich würde sogar sagen, selbst bevor ich das erste Mal in meinem Leben Git benutzt habe. Ich habe mich einfach damit abgefunden.

Renate Schaaf 24. Jun 2025 14:38

AW: github und LF CRLF
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1549670)
Zitat:

Zitat von Renate Schaaf (Beitrag 1549666)
Das liegt daran, dass meine Änderungen CRLF in einen text mit LF einfügen.

Ist das der Grund? Ich habe das ständig, seit vielen Jahren, und ich würde sogar sagen, selbst bevor ich das erste Mal in meinem Leben Git benutzt habe. Ich habe mich einfach damit abgefunden.

Lass Dir einfach die line feeds im Editor anzeigen, dann siehst Du den Unterschied. LF und CRLF haben verschiedene Symbole. Sowie alles auf CRLF umgestellt ist funktioniert Code-completion.

Zitat:

Zitat von himitsu (Beitrag 1549668)

Alternativ im .gitattributes für *.pas, *.dfm usw. das CRLF explizit vorgeben

Ich glaub das versuche ich erstmal. Die .config zu ändern trau ich mich erstmal nicht. :)

Danke!

himitsu 24. Jun 2025 14:57

AW: github und LF CRLF
 
Direkt in der Config-Datei rumzufummeln, ist auch nicht nötig
Code:
git config set core.safecrlf true
git config set core.autocrlf false

Falls du sonst nie mit der Console arbeitest,
einfach im Explorer in dein Verzeichnis,
oben in die Adressleiste
Delphi-Quellcode:
cmd
reinschreiben und [Enter]
und dann die Befehle in die Console einfügen und ausführen.


Vorteil an der .gitattributes ist aber,
dass es direkt im Repo drin ist,
während die Config leider immer lokal liegt.

Irgendwo neu ausgecheckt und diese Config ist dort erstmal auf Default.

Hab aber grade nicht im Kopf, wie es in der gitattributes genau angegeben werden mußte. (steht aber irgendwie in der Hilfe)

Renate Schaaf 24. Jun 2025 15:01

AW: github und LF CRLF
 
Ich benutze git nicht. Aber ich habe eine perfekte .gitattributes - Datei bei Dalija Prasnikar gefunden.

https://github.com/dalijap


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz