Wie kann ich in SVN ein Pre-Commit-Hook-Skript implementieren, das dos2unix aufruft, um die eingecheckte Datei zu validieren?

StackOverflow https://stackoverflow.com/questions/48562

  •  09-06-2019
  •  | 
  •  

Frage

Ich habe mich gefragt, ob hier jemand Erfahrung mit dem Schreiben dieser Art von Skripten hat und ob er mir einige Hinweise geben könnte.

Ich möchte dies ändern Skript um zu überprüfen, ob die Eincheckdatei keinen Wagenrücklauf in der EOL-Formatierung aufweist.Das EOL-Format ist CR LF unter Windows und LF unter Unix.Wenn ein Benutzer Code im Windows-Format eincheckt.Es lässt sich nicht mehr unter Unix kompilieren.Ich weiß, dass dies auf der Clientseite möglich ist, aber ich muss diese Validierung auf der Serverseite durchführen lassen.Um dies zu erreichen, muss ich Folgendes tun:

1) Stellen Sie sicher, dass die Datei, die ich überprüfe, keine Binärdatei ist. Ich weiß nicht, wie ich das mit svnlook machen soll. Soll ich den MIME:-Typ der Datei überprüfen?Der Rotes Buch zeigt dies nicht deutlich an, sonst muss ich es nicht gesehen haben.

2) Ich möchte das ausführen dos2unix Befehl, um zu überprüfen, ob die Datei das richtige EOL-Format hat.Ich würde die Ausgabe des Befehls dos2unix mit der Originaldatei vergleichen.Wenn es einen Unterschied zwischen beiden gibt, gebe ich dem Kunden eine Fehlermeldung und storniere den Check-in.

Ich würde mich über Ihre Kommentare/Feedback zu diesem Ansatz freuen.

War es hilfreich?

Lösung

Ich denke, Sie können in diesem Fall ein Commit-Hook-Skript vermeiden, indem Sie das verwenden svn:eol-style Eigenschaft wie im SVNBook beschrieben:

Auf diese Weise kann sich SVN für Sie um Ihre Zeilenenden kümmern.

Viel Glück!

Andere Tipps

Was genau versuchst du zu tun?

Natürlich gibt es zahlreiche Orte, an denen man mehr über SVN-Pre-Commit-Hooks erfahren kann (z. B. Hier , Hier, und in der Rotes Buch), aber es hängt davon ab, was Sie tun möchten und was auf Ihrem System verfügbar ist.

Kannst du genauer sein?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top