Bei der Entwicklung von Software ist eine gute Prozessunterstützung durch geeignete Software-Engineering-Werkzeuge sinnvoll, um effizient arbeiten zu können. Die dazu notwendige Tool-Infrastruktur kann entweder durch kommerziell verfügbare integrierte Werkzeug-Suites abgedeckt oder durch eine Integration von frei verfügbaren oder kommerziellen Tools unterschiedlicher Hersteller aufgebaut werden.
RepoGuard ist eine Software, die es erlaubt ein Versionsverwaltungssystem, wie z.B. Subversion, Perforce oder GIT, in eine existierende Arbeitsumgebung zu integrieren und umfangreiche Überprüfungen des Source-Codes beim Einchecken durchzuführen. Besonders häufig auftretende Anwendungsfälle von RepoGuard sind dabei die Anbindung von Issue- oder Bug-Tracking-Systemen an Code-Repositories und die Überprüfung von Kodierrichtlinien des eingecheckten Source-Codes. RepoGuard ist aber darüber hinaus allgemein für beliebige Aufgaben einsetzbar.
RepoGuard ist als ein erweiterbares Framework realisiert. Durch das Erweitern mit Plug-Ins für Überprüfungen ("checks") können beliebige Zustände und Eigenschaften von Source-Code oder externen Datenbanken abgefragt werden. Durch beliebig viele Ausgabe-Plug-Ins ("handler") können alle notwendigen Aktionen durchgeführt werden. In beiden Arten von Plug-Ins werden häufig externe Tools von Drittanbietern (Open-Source oder kommerziell) angebunden, um die eigentlichen Überprüfungen oder Aktionen durchzuführen. Der Aufruf von RepoGuard erfolgt als Hook-Skript durch das entsprechende VCS direkt auf dem Server des Repositories. Zur Nutzung ist kein somit zusätzlicher Server-Prozess notwendig. Die Implementierung von RepoGuard ist plattformunabhängig in Python erfolgt.
RepoGuard wird im DLR entwickelt und eingesetzt und ist als Open-Source-Software frei verfügbar (Apache License V2.0). Informationen zu aktuellen Versionen finden sich auf der RepoGuard-Projektseite.
Beispiele für Überprüfungen
Mögliche Überprüfungen von Source-Code oder sonstigen Randbedingungen:
Beispiele für Aktionen
Mögliche Ausgabe-Ziele für Ergebnisse der Repository-Vorgänge und SVNChecker-Checks sind:
Links