- Project tools
-
-
-
- How do I...
-
| Category |
Featured projects |
| scm |
Subversion,
Subclipse,
TortoiseSVN,
RapidSVN
|
| issuetrack |
Scarab |
| requirements |
xmlbasedsrs |
| design |
ArgoUML |
| techcomm |
SubEtha,
eyebrowse,
midgard,
cowiki |
| construction |
antelope,
scons,
frameworx,
build-interceptor,
propel,
phing
|
| testing |
maxq,
aut
|
| deployment |
current |
| process |
ReadySET |
| libraries |
GEF,
Axion,
Style,
SSTree
|
| Over 500 more tools... |
|
repoguard
Project home
If you were registered and logged in, you could join this project.
RepoGuard 0.1 now available (2009/10/06)
We are happy to announce Repoguard 0.1 which can be downloaded from here. If you find any bugs, please post them in our issue tracker.
The following list describes the new features:
- Improved support for version control systems: Subversion, Perforce* and git*.
- Improved support for bug tracking systems: Bugzilla*, GForge*, Mantis and Trac*.
- New configuration format with features like validation, inheritance and better redablity by using the ConfigObj configuration format.
- Improved check and handler workflow. Allow a more flexible use of the checks inside a profile execution process.
- Extensible command line tool that allows an easier use and administration of the new SVNChecker.
- Integration of the Mako Template Engine to allow an easy adjustment of the handler output format.*
- More comfortable integration of new checks, handlers, command line tools and of course modules for accessing other version control systems.
All features marked with an asterisk are not integrated in the current release. Read the issue tracker for more information.
There is currently a lack of documentation. New documentation will be added as soon as possible in our wiki so you can start using RepoGuard.
Posted by Malte Legenhausen
Description
RepoGuard is an advanced validation framework with built-in integrations for several common version control systems. It is the successor of the SVNChecker framework.
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 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.
Architecture of RepoGuard
Documentation
Available Checks, Handlers and Bug Trackers
RepoGuard includes out-of-the-box many several Checks and Handlers that allows the instandly use without writing Checks and Handlers by your own.
Following Checks, Handlers and especially Bug Trackers are avialable:
| Name |
Summary |
| AccessRights |
Check access rights on files. |
| ASCIIEncoded |
Check whether the files only contain ASCII Characters. Single chars can be allowed or denied. |
| CaseInsensitiveFilenameClash |
Tests, if a file with the same filename (ignoring the case) already exists in the repository. |
| Checkout |
Checkout files from the repository to file system locations. |
| Checkstyle |
Checks java files for coding style errors using Checkstyle. |
| Keywords |
Checks for svn:keywords on all added files in this commit. Currently only Subversion keywords are supported. |
| Log |
Creation of transaction report that can be published by the handlers. |
| PyLint |
Checks Python files for coding style using PyLint. |
| RejectTabs |
Reject files with given extensions that include leading tabs. Contributed by Adam Byrtek. |
| UnitTests |
Tests, if a unit test exists for a given Java class. |
| XMLValidator |
Checks XML files for correctness. |
| Name |
Summary |
| Buildbot |
Build triggering of Buildbot jobs, after successful check execution. |
| Console |
Simple console output handler. |
| File |
Write the results of the check execution in a log file. |
| Hudson |
Build triggering for Hudson jobs, after successful check execution. |
| Mail |
Send the check results as mail to all developers. |
| ViewVC |
Executes the update process for the ViewVC database. |
Several bug tracking systems are supported by RepoGuard. For each bug tracker there exists a Check and a corresponding Handler. The Check validates, if a commit message contains one or more valid IDs for an issue. By default, the commit message must contain a line with 'MANTIS ID <#>' (will change when more bug tracker are available), where '<#>' is number of an issue ID that is set to status 'in_progress' and handled by the correct user. On success the corresponding handler append a note to the given issue IDs and can update a custom field with the current revision.
Following bug tracking systems are supported out-of-the-box:
Download
You can download the latest RepoGuard 0.1 or check out the repository for the current developer version.
Development
RepoGuard is developed mainly by the Simulation and Software Technology divison of the German Aerospace Center (DLR).
We are happy about any support for this project. For example, you might participate as a developer, bug reporter or simply by telling us your needs.
Especially, if you have written additional checks, handlers, modules to access other version control systems, bug trackers or command line tools, we would be happy to include them into the RepoGuard distribution.
Just visit our forums or join our mailing lists on Tigris.
Related Resources
Bugzilla, Buildbot, GForge, git, Hudson, Mantis, Perforce, Pylint, Subversion, SVNChecker, Trac, ViewVC
|