revision control and issue tracking andrew watkins

38
Revision Control and Issue Tracking Andrew Watkins

Upload: brandon-moore

Post on 28-Dec-2015

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Revision Control and Issue Tracking Andrew Watkins

Revision Control and Issue Tracking

Andrew Watkins

Page 2: 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…

Page 3: Revision Control and Issue Tracking Andrew Watkins

Revision ControlUse it or lose it

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

Page 4: Revision Control and Issue Tracking Andrew Watkins

Revision ControlUse it or lose it

• Everything we do is either:– Code– Data

Page 5: Revision Control and Issue Tracking Andrew Watkins

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

Page 6: Revision Control and Issue Tracking Andrew Watkins

Keep it safe

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

But…

Page 7: Revision Control and Issue Tracking Andrew Watkins

Code Changes

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

10 PRINT "Hello Wordl"

Page 8: Revision Control and Issue Tracking Andrew Watkins

Code Changes

Time – as system evolves

Space – as it spreads out

Page 9: Revision Control and Issue Tracking Andrew Watkins

RCS Benefits

Page 10: Revision Control and Issue Tracking Andrew Watkins

Backup and Restore.

Page 11: Revision Control and Issue Tracking Andrew Watkins

Synchronization

Page 12: Revision Control and Issue Tracking Andrew Watkins

Short Term Undo

Page 13: Revision Control and Issue Tracking Andrew Watkins

Long Term Undo

Page 14: Revision Control and Issue Tracking Andrew Watkins

Track Changes

Page 15: Revision Control and Issue Tracking Andrew Watkins

Track Ownership

Page 16: Revision Control and Issue Tracking Andrew Watkins

Sandboxing

Page 17: Revision Control and Issue Tracking Andrew Watkins

Branch and Merge

Page 18: Revision Control and Issue Tracking Andrew Watkins

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)

Page 19: Revision Control and Issue Tracking Andrew Watkins

Distributed RCS

• DARCS• GIT• Mercurial

Page 20: Revision Control and Issue Tracking Andrew Watkins

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

Page 21: Revision Control and Issue Tracking Andrew Watkins

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)

Page 22: Revision Control and Issue Tracking Andrew Watkins

svn diff -r3:4 list.txt

Page 23: Revision Control and Issue Tracking Andrew Watkins
Page 24: Revision Control and Issue Tracking Andrew Watkins

Branching

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

Page 25: Revision Control and Issue Tracking Andrew Watkins
Page 26: Revision Control and Issue Tracking Andrew Watkins

Merging

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

Page 27: Revision Control and Issue Tracking Andrew Watkins
Page 28: Revision Control and Issue Tracking Andrew Watkins

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

Page 29: Revision Control and Issue Tracking Andrew Watkins

Round Up

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

– Tortoise SVN– Eclipse (Subclipse)

• Web Interface to repository

Page 30: Revision Control and Issue Tracking Andrew Watkins

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

Page 31: Revision Control and Issue Tracking Andrew Watkins

What is an Issue?

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

Page 32: Revision Control and Issue Tracking Andrew Watkins

Trac

Page 33: Revision Control and Issue Tracking Andrew Watkins

Tickets

Page 34: Revision Control and Issue Tracking Andrew Watkins

Atlassian JIRA

Page 35: Revision Control and Issue Tracking Andrew Watkins

Issues

Page 36: Revision Control and Issue Tracking Andrew Watkins

Issues

Page 37: Revision Control and Issue Tracking Andrew Watkins

Issues

Page 38: Revision Control and Issue Tracking Andrew Watkins

Issues