Revision Control and Issue Tracking Andrew Watkins Do

  • Slides: 38
Download presentation
Revision Control and Issue Tracking Andrew Watkins

Revision Control and Issue Tracking Andrew Watkins

Do I need an RCS? • Large, fast-changing projects with many authors need a

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: –

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: –

Revision Control Use it or lose it • Everything we do is either: – Code – Data

Source Code • Everything you need to make the system: – – – –

Source Code • Everything you need to make the system: – – – – Programming language files Compile Scripts Test Scripts Deploy Scripts Documentation IDE Project files Configuration files o C e d

Keep it safe • So keep a copy – – Floppy Disk (remember those)

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

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

Code Changes Time – as system evolves Space – as it spreads out

RCS Benefits

RCS Benefits

Backup and Restore.

Backup and Restore.

Synchronization

Synchronization

Short Term Undo

Short Term Undo

Long Term Undo

Long Term Undo

Track Changes

Track Changes

Track Ownership

Track Ownership

Sandboxing

Sandboxing

Branch and Merge

Branch and Merge

RCS Systems • Open Source – RCS – GNU, Single Files Only (1982) –

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

Distributed RCS • DARCS • GIT • Mercurial

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

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

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

svn diff -r 3: 4 list. txt

svn diff -r 3: 4 list. txt

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

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

Merging svn merge -r 5: 6 http: //path/to/branch

Merging svn merge -r 5: 6 http: //path/to/branch

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

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

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

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

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 /

What is an Issue? • An issue tracking system works with: – Bugs / Defects – New Feature requests – Tasks

Trac

Trac

Tickets

Tickets

Atlassian JIRA

Atlassian JIRA

Issues

Issues

Issues

Issues

Issues

Issues

Issues

Issues