Programming in Teams - Western Washington University

Download Report

Transcript Programming in Teams - Western Washington University

Programming in Teams
And how to manage your code
Agenda
What is revision control?
Available choices
Github
BitBucket
Team Foundation Service (TFS)
TFS Demonstration
Working in a
team?
Most commercial programming is
done in teams
To simplify project management
and enforce accountability, version
control is used
What is revision control?
WITHOUT
WITH
If a team creates a bug, it could
affect how your code too
You are isolated on your own
branch, so you know who did it
You could loose old code or
features that were removed
You can go back and see all old
version of your project
Anyone could add bugs/features to
a project and no one would know
Someone has to approve your code
submission
Lingo
The Basics
Repository – the database holding your
code
Main/Trunk – This is the primary code
Working set – A file you checked out
Tags – the name of the project stage
Actions
Check out – a downloaded file
Check in – uploading the file
Update – synchronizes your code
Revert – toss the changes you made
More complicated
Branch – create a separate copy of a file
or folder
Diff – (I bet you know)
Merge – combining branches
But how does one “branch”?
That’s how Linux is made
(kinda)
Some of the Options
Technologies
Version Control Market Share 2009
Git
Subversion
Mercurial
Team Foundation
Subversion(SVN)
22%
33%
Visual SourceSafe
In the cloud
GitHub
Google Code
BitBucket
Team Foundation Service
Team Foundation
Server
Perforce
12%
ClearCase
5%
9%
6%
13%
CVS
Other
Local Revision Control
Open Source Solutions
TortoiseSVN
GUI for SubVersioN
Includes submission graphing
Git
Staging Area Commits
Verified Integrity
GitHub
Free
Unlimited public repositories
Unlimited public collaborators
Paid ($7-$200 /month)
Same as free, but with limited number
of private repositories
Features
Team permissions
Read-only, read-write, etc.
Wikis
Issue Tracking
Assigning tasks
Easy bug reporting
Code Review
Comment code in GitHub
See code changes
BitBucket
Free
Unlimited public and private
repositories
Up to 5 users
Paid ($10 - $200 /month)
More users, from 10 to unlimited
Mercurial or Git
Team Foundation Service
Integrated into Visual Studio 2012
Support for Eclipse, Xcode
Pricing
Free for 5 users, unlimited projects
Agile Development Support
Build and Test Support
Other Providers
GOOGLE CODE
SOURCE FORGE
For Open source
Unlimited bandwidth
2Gb of free hosting
Analytics
Subversion, Mercurial, or Git
support
Issue Tracking
Open Source
Development Styles
AGILE DEVELOPMENT
STANDARD WATERFALL METHOD
Queue the Demo…
What did we learn?
Why revision control is important
Why you should probably be using it
Where to go if you do decide to use it
SELECT question
FROM student
WHERE confused