SVNChecker – The Missing Link Between Version Control And Bug Tracking

17
Folie 1 Europython >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

description

Talk at the Europython 2008

Transcript of SVNChecker – The Missing Link Between Version Control And Bug Tracking

Page 1: 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

Page 2: SVNChecker – The Missing Link Between Version Control And Bug Tracking

Europython 2008 > 09.07.2008

Folie 2

The DLRGerman Aerospace Research Center Space Agency of the Federal Republic of Germany

Page 3: SVNChecker – The Missing Link Between Version Control And Bug Tracking

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

Page 4: SVNChecker – The Missing Link Between Version Control And Bug Tracking

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

Page 5: SVNChecker – The Missing Link Between Version Control And Bug Tracking

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

Page 6: SVNChecker – The Missing Link Between Version Control And Bug Tracking

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.”

Page 7: SVNChecker – The Missing Link Between Version Control And Bug Tracking

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

Page 8: SVNChecker – The Missing Link Between Version Control And Bug Tracking

Europython 2008 > 09.07.2008

Folie 8

HandlerExamples

Possible output targets for check results:

Email

Logfile

Stdout

Database

Note in bug tracking system

RSS feeds

Blog post

Page 9: SVNChecker – The Missing Link Between Version Control And Bug Tracking

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

Page 10: SVNChecker – The Missing Link Between Version Control And Bug Tracking

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

Page 11: SVNChecker – The Missing Link Between Version Control And Bug Tracking

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

Page 12: SVNChecker – The Missing Link Between Version Control And Bug Tracking

Europython 2008 > 09.07.2008

Folie 12

EXAMPLE

Page 13: SVNChecker – The Missing Link Between Version Control And Bug Tracking

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

Page 14: SVNChecker – The Missing Link Between Version Control And Bug Tracking

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

Page 15: SVNChecker – The Missing Link Between Version Control And Bug Tracking

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)

Page 16: SVNChecker – The Missing Link Between Version Control And Bug Tracking

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

[email protected]

[email protected]

Page 17: SVNChecker – The Missing Link Between Version Control And Bug Tracking

Europython 2008 > 09.07.2008

Folie 17

?