Sind CRLF Linien ok in einem Rails-Projekt zum Einsatz auf Linux?
-
22-07-2019 - |
Frage
Ich habe eine Git-Repository (ursprünglich CVS, dann SVN, jetzt Git) ein Rails-Projekt enthält, die für eine Weile jetzt unter Linux eingesetzt wurde. Alles scheint zu laufen gut.
Nun, da ich zu git umgewandelt habe, sehe ich, dass viele meiner Dateien im Repository enthalten
Lösung Wenn es in Ordnung ist für Sie Ihre Repository Geschichte neu zu schreiben (siehe Probleme mit Umschreiben der Geschichte ) Sie git filter-branch zu konvertieren CRLF LF verwenden: Beachten Sie, wenn Sie binäre Dateien im Repository haben, werden Sie den Befehl find auszuschließen läutern müssen. git filter-branch --tree-filter 'find . -path './.git' -prune -o -type f -exec dos2unix \{} \;' HEAD
Andere Tipps
Kommentar davitenio Antwort und Daniel Beardsley Kommentar; Ich glaube, Sie dieses kleine Programm als Wrapper um dos2unix verwenden:
#!/bin/sh
for f in $@; do
if [ $(file -b -n -i -m /dev/null $f | grep -c "text") -gt 0 ]; then
dos2unix $f
fi
done
obwohl es wahrscheinlich noch einige Ecke Fall, dass fehlschlagen wird.