revision control and issue tracking andrew watkins
TRANSCRIPT
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