Revision Control and Issue Tracking Andrew Watkins

Preview:

Citation preview

Revision Control and Issue Tracking

Andrew Watkins

Do I need an RCS?

• Large, fast-changing projects with many authors need a Revision Control System

• So do small one man band projects

Why…

Revision ControlUse it or lose it

• Everything is part of either:– The pipework– The water

Revision ControlUse it or lose it

• Everything we do is either:– Code– Data

Source Code

• Everything you need to make the system:– Programming language files– Compile Scripts– Test Scripts– Deploy Scripts– Documentation– IDE Project files– Configuration files

Code

Keep it safe

• So keep a copy– Floppy Disk (remember those)– Backup Tape– DVD– Another computer

But…

Code Changes

• If it is code – then it will change:– Fix Defect– Add Feature– Environment Changes – new platform

10 PRINT "Hello Wordl"

Code Changes

Time – as system evolves

Space – as it spreads out

RCS Benefits

Backup and Restore.

Synchronization

Short Term Undo

Long Term Undo

Track Changes

Track Ownership

Sandboxing

Branch and Merge

RCS Systems

• Open Source– RCS – GNU, Single Files Only (1982)– CVS – Concurrent Versions System (1990)– SVN – Subversion (2000)

• Commercial– Visual Source Safe – Microsoft– Clear Case (Rational - IBM)

Distributed RCS

• DARCS• GIT• Mercurial

svn add list.txt (modify the file) svn ci list.txt -m "Changed the list"

svn co list.txt (get latest version) ...edit file...svn revert list.txt (throw away changes)svn co -r2 list.txt (check out particular version)

svn diff -r3:4 list.txt

Branching

svn copy http://path/to/trunk http://path/to/branch

Merging

svn merge -r5:6 http://path/to/branch

svn copy http://path/to/revision http://path/to/tag

Round Up

• Use version control. • Take it slow. • Keep Learning. • GUI Available

– Tortoise SVN– Eclipse (Subclipse)

• Web Interface to repository

Issue Tracking

• Revision Control captures how the code has changed

• Issue tracking captures why it changes

• RCS contains the present• Issue Tracking contains the future

What is an Issue?

• An issue tracking system works with:– Bugs / Defects– New Feature requests– Tasks

Trac

Tickets

Atlassian JIRA

Issues

Issues

Issues

Issues

Recommended