- Teamwork

advertisement
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 Control
Use it or lose it
• Everything is part of either:
– The pipework
– The water
Revision Control
Use 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
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
Download