Top Banner
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
17

SVNChecker – The Missing Link Between Version Control And Bug Tracking

Jan 23, 2015

Download

Technology

guest965d2d

Talk at the Europython 2008
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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

?