SVNChecker – The Missing Link Between Version Control And Bug Tracking
-
Upload
guest965d2d -
Category
Technology
-
view
2.399 -
download
3
description
Transcript of SVNChecker – The Missing Link Between Version Control And Bug Tracking
Folie 1Europython >09.037.2007
SVNChecker – The Missing Link Between Version Control And Bug Tracking
EuroPython 2008 (07.-09.08.2008, Vilnius)
Stefan Pielicke <[email protected]>
German Aerospace Center (DLR), Cologne
http://www.dlr.de/sc
Europython 2008 > 09.07.2008
Folie 2
The DLRGerman Aerospace Research Center Space Agency of the Federal Republic of Germany
Europython 2008 > 09.07.2008
Folie 3
5,600 employees working in 28 research institutes and facilities
at 13 sites.
> 1000 developers
Offices in Brussels, Paris and Washington.
Köln
Lampoldshausen
Stuttgart
Oberpfaffenhofen
Braunschweig
Göttingen
Berlin-
Bonn
Trauen
Hamburg
Neustrelitz
Weilheim
Bremen-
Sites and employees
Europython 2008 > 09.07.2008
Folie 4
Scientific Software DevelopmentDaily Observations in Research Labs and Industry…
Specific phenomenon: developments starting small (short script) but grow larger and larger during time
Team sizes: from 1 student to > 50 scientists from several departments
Lots of scientists (i.e. mathematicians, physicists, engineers) have no education in software engineering but developing large and/or critical applications
Their aim: fast implementation or their ideas into running code
Loss of productivity through archaic tools und procedures
old text editors (vi, Emacs, Notepad)
code exchange via e-mail, memory sticks or NFS
no methodical testing
Europython 2008 > 09.07.2008
Folie 5
Tools used at the DLR
WikiMoinMoin
Issue-TrackingMANTIS
IDEz.B. Eclipse
Builds and tests
Repository BrowserViewVC
Test and verification tools
Test and verification tools
Check
TestTest
Build StatusCruiseControl
Europython 2008 > 09.07.2008
Folie 6
Automatic server side code check
Checks:
Checking the Code various ways
At commit
A failure stops the process
Handlers:
Logging the result
a failed check
IDEe.g. Eclipse
Commit
Check
The Tao of Source Control:
“If it’s not in the repository, it doesn’t exist.”
The Tao of Source Control:
“If it’s not in the repository, it doesn’t exist.”
Europython 2008 > 09.07.2008
Folie 7
ChecksExamples
Checks on source code
Coding Style
Checkstyle (Java) or Pylint (Python)
Source code analysis
Findbugs (Java) or QA C/C++
Environmental checks
Access rights
Check on access rights for the repository, directories or single files
Issue/Bug tracking
Check for valid ids
Europython 2008 > 09.07.2008
Folie 8
HandlerExamples
Possible output targets for check results:
Logfile
Stdout
Database
Note in bug tracking system
RSS feeds
Blog post
Europython 2008 > 09.07.2008
Folie 9
SVNCheckerHook Script Framework for Subversion
Function
Better integration of version control in the dev process
Especially the connectivity to the bug tracking system
Usage
Called by subversion via a hook (pre-commit, post-commit)
External tools will be integrated via plug ins
Europython 2008 > 09.07.2008
Folie 10
SVNCheckerSVNChecker
SVNChecker Architecture
Transaction
Check 1
Check 2
Check 3
TransactionMessageExit-code
Handler A
Handler B
Handler C
Exit-Code
●●●
●●●external
tools
externaltools
SubversionRepositorySubversionRepository
Hook ScriptHook Script
Europython 2008 > 09.07.2008
Folie 11
SVNCheckerProgram Flow
commit
Execute check
Return msg = 0?
Execute success handlers
Execute failure
handlers
Checks left?
true
false
true
false
Abort commit
Finishcommit
Europython 2008 > 09.07.2008
Folie 12
EXAMPLE
Europython 2008 > 09.07.2008
Folie 13
SVNCheckerNext steps (est. 3 months)
CVSMore version control systems:
CVS
Perforce
Git
More bug tracking systems:
Bugzilla
GForge
Trac
Europython 2008 > 09.07.2008
Folie 14
SVNCheckerNext steps (est. 3 months)
Check
configWebService
Configuration interface via WebService:
Changes can be seen fast
Dev team can make changes easily
Small amount of administrative action needed
Europython 2008 > 09.07.2008
Folie 15
SVNCheckerFuture activities (no time schedule)
Planned extension:
Graphic UI for configuration
Through a web interface and/or via an eclipse plug-in
Visions:
Fully fledged test suite
Complete traceability of developement process
Integration of provenance recording (http://www.gridprovenance.org)
Europython 2008 > 09.07.2008
Folie 16
Conclusion
Similar software
SCMBug (written in Perl )
Availability
More information at http://www.dlr.de/sc/produkte/svnchecker
and http://svnchecker.tigris.org
Open-Source (Apache License V2.0)
Contact
Europython 2008 > 09.07.2008
Folie 17
?