2012-03-30 3 views
1

Ich habe so etwas wie in dem Thema zu einem Projekt gesehen, aber ich weiß nicht, wie man das macht und was die richtigen Schlüsselwörter, um es zu googeln.Wie wird die automatische Zurückweisung von Commits in SVN konfiguriert, wenn Code-Style-Verletzungen gefunden werden?

Ist es mit SVN von einem Drittanbieter-Tool getan? Ist es möglich, eine Reihe von Dateien anzugeben, die verifiziert werden sollen (d. H. Nicht das gesamte Projekt, sondern nur einige seiner "sauberen" Teile)?

+0

möglich Duplikat [SVN - pre-commit Haken Code-Formatierung überprüfen] (http://stackoverflow.com/questions/2407909/svn-pre-commit-hook-to-check-code-formatting) – sleske

+0

Was Sie suchen ist ein "pre-commit hook"; siehe http://svnbook.red-bean.com/en/1.7/svn.reposadmin.create.html#svn.reposadmin.create.hooks. Eine ähnliche Frage wurde bereits zuvor gestellt, sodass Ihre Frage möglicherweise als Duplikat geschlossen wird. – sleske

Antwort

1

Ich würde es nicht mit SVN Pre-Commit Hooks tun. Erhalte stattdessen einen Build-Server.

Schreiben Sie ein Build-Skript, das ein Drittanbieter-Tool aufruft, um Ihren Codierungsstil zu validieren (welche Werkzeuge Sie verwenden können, hängt von der verwendeten Programmiersprache ab. Für C# ist es so etwas wie StyleCop).

Google "kontinuierliche Integration" für viel Gewinn.

+0

[TeamCity] (http://www.jetbrains.com/teamcity/) (nicht verbunden) hat schöne Haken für diese Art von Arbeit. – AlG

+0

@stmax: nur um Ihnen ein vollständiges Bild zu geben: Derzeit vergleiche ich die CI-Code-Validierung mit der SVN-Validierung vor der Übertragung. Ich tendiere auch dazu, mit einer CI-basierten Lösung zu gehen. – Roman

+0

Ich sehe .. Ich denke, die Pre-Commit-Hook-Ansatz neigt dazu, zu einem "manuell überprüfen, was sich mit Svnlook und einigen hässlichen Regexes geändert" -hack, wo Sie so ziemlich alles selbst script .. herauszufinden, die Änderungen mit svnlook + einige regex und vielleicht etwas python suggar, dann checkout und schließlich das code style validation tool aufrufen. Problem beim Aufrufen des Code-Style-Validierungs-Tools ist möglicherweise, dass es nicht für das System verfügbar ist, auf dem Ihr SVN-Server läuft (unser SVN läuft unter Linux, während wir .NET-Build-Tools benötigen). CI wäre viel flexibler und einfacher zu implementieren. – stmax

Verwandte Themen