pre-commit hook: Bitte Prüfung auf Leerzeichen in Dateinamen

Begonnen von betateilchen, 19 Februar 2019, 14:30:42

Vorheriges Thema - Nächstes Thema

betateilchen

Heute habe ich mehr oder weniger zufällig festgestellt, dass Leerzeichen im Dateinamen unseres SVN repositories dazu führen, dass das Makefile nicht mehr korrekt abgearbeitet wird.
Deshalb schlage ich vor, dass im pre-commit künftig die Gültigkeit des Dateinamens auf dieses Kriterium erweitert wird.

Für den aktuellen Fall habe ich die image Datei namens "Tropical Storm.svg" in "Tropical_Storm.svg" umbenannt, damit läuft auch das Makefile wieder korrekt durch.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dr. Boris Neubert

Hi, das Kalendermodul verlässt sich darauf, dass das Icon wie die Witterung heißt. Führt das hier zum Problem?
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

betateilchen

#2
Zitat von: Dr. Boris Neubert am 19 Februar 2019, 15:04:52
Hi, das Kalendermodul verlässt sich darauf, dass das Icon wie die Witterung heißt. Führt das hier zum Problem?

*grübel* wo verwendet denn das Kalendermodul Wettericons?

Es gibt nur dieses einzige Icon mit einem Leerzeichen. obwohl es schon eine ganze Reihe von mehrteiligen Icons gibt, die entweder mit _ oder mit - zwischen den Wortteilen verknüpft sind.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: Dr. Boris Neubert am 19 Februar 2019, 15:04:52
verlässt sich darauf, dass das Icon wie die Witterung heißt. Führt das hier zum Problem?

Hallo Boris,

in @iconlist von 59_Weather.pm kommt der Tropical Storm nicht vor.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dr. Boris Neubert

Zitat von: betateilchen am 19 Februar 2019, 16:17:51
*grübel* wo verwendet denn das Kalendermodul Wettericons?

Es gibt nur dieses einzige Icon mit einem Leerzeichen. obwohl es schon eine ganze Reihe von mehrteiligen Icons gibt, die entweder mit _ oder mit - zwischen den Wortteilen verknüpft sind.

Ich war verwirrt, meinte das Weather-Modul. Wenn es keine Zustände mit Blank gibt, ist ja alles in Ordnung.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

rudolfkoenig

Ich habe jetzt eine Pruefung eingebaut:
err $fName, "filename ($fName) contains strange characters (not A-Za-z0-9_.-%)"
    if($fName =~ m/[^A-Za-z0-9_.%-\/]/);

Diese Liste habe mit "find fhem.pl www docs contrib FHEM -print" und etwas Umsortierung rausgefunden.
/ kam extra dazu, um mir das Leben einfacher zu machen.

betateilchen

müsste man den Punkt in der regex nicht escapen, damit er auch wirklich als Punkt interpretiert wird?

Offenbar funktioniert die Prüfung aber noch nicht auf dem SVN Server. Denn Wuppi hat gerade schon wieder eine Datei mit einem Leerzeichen eingecheckt  8)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Ok, gerade selbst getestet - der pre-commit hook greift tatsächlich (noch) nicht, Leerzeichen sind problemlos möglich.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Wuppi68

bin dran ... und es sollte auch wieder weg sein ;-)

Danke für den Hinweis Udo

Liebe Grüße

Ralf, der wieder etwas dazu gelernt hat
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

betateilchen

Zitat von: betateilchen am 19 Februar 2019, 21:26:09
müsste man den Punkt in der regex nicht escapen, damit er auch wirklich als Punkt interpretiert wird?

ich vermute, dass der Punkt ohne escape genau die Ursache dafür ist, dass der pre-commit hook im Moment noch jedes beliebige Zeichen zulässt - der Punkt bedeutet ja schließlich "beliebiges Zeichen".
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Das war es nicht, es lag an dem
Zitatmy ($type, $fName) = split(" ", $row);
am Anfang.
Ich habe es zwar mit einem "Leerzeichen-Datei" getestet, es fiel mir aber nicht auf, dass die Ablehnung wg. einem anderen Grund passierte.Habs jetzt gefixt.

betateilchen

sieht gut aus :)


*** trunk/fhem/contrib/betateilchen/Ohne Titel.txt: filename (trunk/fhem/contrib/betateilchen/Ohne Titel.txt) contains strange characters (not A-Za-z0-9_.-%)


Die ganze Meldung sieht übrigens so aus:


Commit failed (details follow):
Commit blocked by pre-commit hook (exit code 1) with output:
svnlook: E205000: Try 'svnlook help' for more info
svnlook: E205000: Too many arguments given
*** trunk/fhem/contrib/betateilchen/Ohne Titel.txt: filename (trunk/fhem/contrib/betateilchen/Ohne Titel.txt) contains strange characters (not A-Za-z0-9_.-%)


Keine Ahnung, ob die Meldungen bezüglich svnlook irgendeine Relevanz haben, um die man sich kümmern sollte.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!