DLR Portal
Home|Textversion|Imprint|Sitemap|Contact |Deutsch
You are here: Home:Software:RepoGuard
Advanced Search
News
Organization
Departments
Activities
Projects
Software
DataFinder
DAVInspector
Plug&Care Connector
RepoGuard
Remote Component Environment (RCE)
Publications
Offers
Send article to a friendPrint

RepoGuard



Description

Today modern software development is not possible without the aid of tools like version control systems, bug tracking systems or instruments that ensure the compliance with code conventions. Unfortunately, all of these tools "live in their own world", are only loosely coupled and do not interact with each other. RepoGuard addresses this problem by linking version control systems to other software development tools. It is implemented as an extension to several version control systems and provides interfaces to integrate other tools. The use of RepoGuard allows maximum control and validation of all committed resources before they are permanently stored. Additionally, RepoGuard provides communication channels in order to inform all relevant stakeholders about the failure or success of the process. Overall, RepoGuard provides simple but effective means to guarantee software quality standards in distributed development processes.

 RepoGuard Architecture
zum Bild RepoGuard Architecture

RepoGuard is an advanced validation framework with built-in integrations for several common version control systems. The integration is carried out by utilizing the hook mechanisms each version control system provides. The user may provide configurations which are processed through inversion of control mechanisms. RepoGuard is completely written in the Python programming language which allows for easy integration of other tools. An extensible command line tool for advanced usage is provided which allows for comfortable administration.

RepoGuard is based on two types of constituent parts: Checks and Handlers. These parts are configured by the user to specify what to do when processing a transaction of changes to the version control system. Checks are responsible for validating the content of a transaction. Handlers are responsible for handling the results and/or the output of Checks. The complete architecture of RepoGuard is shown in the figure.

Extensibility is supported via an easy to use plug-in engine and a flexible configuration mechanism for Check and Handler execution. The plug-in engine offers the possibility to integrate self written Checks and Handlers, to integrate modules that provide the access to other version control systems or bug tracker, and to extend the administration command line tool. The following version control systems are currently supported: Subversion, git, and Perforce.

RepoGuard is developed at the German Aersopace Center and freely available as Open-Source-Software (Apache License V2.0). Information regarding the latest version can be found at the project’s homepage.

Examples for Examinations:

  • Verifying of source code analysis with the help of tools like findbugs for java code or QS for C/C++ Code
  • Checking of access rights based on the svn users either for individual files or the whole repository
  • Connection to an issue- or bug-tracking system in order to verify the entered issue id in the commit message

Examples for Actions:

  • Sending e-mails
  • Updating of log files
  • Printing the output on the console
  • Pushing information to a database ("commit database")
  • Performing entries in an issue- or bug-tracking system
  • Publishing of RSS feeds
  • Creation of weblog entries

Links

  • RepoGuard Project Homepage (tigris.org)
  • Presentation "Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software"
  • Presentation "RepoGuard - Validation Framework for Version Control Systems"


Contact
Tobias Schlauch
German Aerospace Center

Simulation and Software Technology
, Distributed Systems and Component Software
Braunschweig

Tel.: +49 531 295-2765

Fax: +49 531 295-2767

Related Articles
SVNChecker
Open Source
Software
DLR Software
Related Topics
Documentation and Information Science
Copyright © 2013 German Aerospace Center (DLR). All rights reserved.