![Page 1: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/1.jpg)
![Page 2: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/2.jpg)
Source Control with Team Source Control with Team Foundation Server Foundation Server
Martin WoodwardMartin Woodward
TeampriseTeamprise
![Page 3: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/3.jpg)
Visual Studio Team SystemVisual Studio Team System
![Page 4: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/4.jpg)
Team Foundation ServerTeam Foundation Server
Work Item Tracking
Change Management Reporting
Project Site
Version ControlSource Control
![Page 5: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/5.jpg)
Team System DeploymentTeam System Deployment
Dev Team (Local)Dev Team (Remote)
Business User
TCP/IPHTTP / S
Win 2003 ServerSQL Server 2005IIS 6.0
Team Foundation ServerTeam Foundation Server
Build Server
Version Control Proxy (Remote)Active Directory
![Page 6: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/6.jpg)
What is Source ControlWhat is Source Control
A place to store stuffA place to store stuff
Historical record of changes over timeHistorical record of changes over time
Allows developers to work in parallelAllows developers to work in parallel
![Page 7: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/7.jpg)
Source Control BasicsSource Control Basics
![Page 8: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/8.jpg)
The Problem of File-SharingThe Problem of File-Sharing
RepositoryRepository
AAAA
HarryHarry
AAAA
SallySally
AAAA
![Page 9: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/9.jpg)
The Problem of File-SharingThe Problem of File-Sharing
RepositoryRepository
AAAA
HarryHarry
A’A’A’A’
SallySally
AAAA
![Page 10: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/10.jpg)
The Problem of File-SharingThe Problem of File-Sharing
RepositoryRepository
AAAA
HarryHarry
A’A’A’A’
SallySally
A’’A’’A’’A’’
![Page 11: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/11.jpg)
The Problem of File-SharingThe Problem of File-Sharing
HarryHarry
A’A’A’A’
RepositoryRepository
AAAA
A’A’A’A’
SallySally
A’’A’’A’’A’’
![Page 12: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/12.jpg)
The Problem of File-SharingThe Problem of File-Sharing
SallySally
A’’A’’A’’A’’
RepositoryRepository
A’A’A’A’
HarryHarry
A’A’A’A’ A’’A’’A’’A’’
![Page 13: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/13.jpg)
The Problem of File-SharingThe Problem of File-Sharing
RepositoryRepository
A’’A’’A’’A’’
HarryHarry
A’A’A’A’
SallySally
A’’A’’A’’A’’
![Page 14: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/14.jpg)
Lock, Modify, Unlock ModelLock, Modify, Unlock Model
RepositoryRepository
AAAA
HarryHarry
AAAA
SallySally
AAAA
LockLock
ReadRead
LockLock
![Page 15: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/15.jpg)
Lock, Modify, Unlock ModelLock, Modify, Unlock Model
RepositoryRepository
AAAA
HarryHarry
A’A’A’A’
SallySally
AAAA
WriteWrite
UnlockUnlock
LockLock
’’
ReadRead
’’’’
![Page 16: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/16.jpg)
Best PracticeBest Practice
Small frequent check-insSmall frequent check-ins
Do get latest between check-insDo get latest between check-ins
Communicate with the teamCommunicate with the team
Consider continuous integrationConsider continuous integration
Consider branching techniquesConsider branching techniques
![Page 17: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/17.jpg)
Copy, Modify, Merge ModelCopy, Modify, Merge Model
RepositoryRepository
AAAA
HarryHarry SallySally
AAAA AAAA
ReadRead
![Page 18: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/18.jpg)
Copy, Modify, Merge ModelCopy, Modify, Merge Model
RepositoryRepository
AAAA
HarryHarry SallySally
AAAA AAAA’’ ’’ ’’
WriteWriteWriteWrite
’’ ’’
![Page 19: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/19.jpg)
HarryHarry
RepositoryRepository
MergeMerge
Copy, Modify, Merge ModelCopy, Modify, Merge Model
AAAA
SallySally
AAAA AAAA’’ ’’ ’’
’’ ’’
AAAA’’ ’’**
WriteWrite
**
ReadRead
**
![Page 20: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/20.jpg)
Team Foundation Server ModelTeam Foundation Server Model
Lock types:-Lock types:-NoneNone
Check – outCheck – out
Check – inCheck – in
![Page 21: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/21.jpg)
TFS Concepts: Team ProjectTFS Concepts: Team Project
““AA collection of work items, collection of work items, code, tests, work products, code, tests, work products, metrics, etc that is used by metrics, etc that is used by a defined team to track a a defined team to track a common set of related common set of related work. work.
![Page 22: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/22.jpg)
TFS Concepts: WorkspaceTFS Concepts: Workspace
““Your client-side copy of Your client-side copy of the files and folders on the the files and folders on the source control server.”source control server.”
![Page 23: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/23.jpg)
TFS Concepts: ChangesetTFS Concepts: Changeset
““A logical container in A logical container in which Team Foundation which Team Foundation stores everything related to stores everything related to a single check-in operation”a single check-in operation”
![Page 24: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/24.jpg)
ShelvingShelving
Put work on holdPut work on hold
Can be thought of as temporary developer Can be thought of as temporary developer branch.branch.
![Page 25: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/25.jpg)
Basic source control withBasic source control withTeam Foundation ServerTeam Foundation Server
![Page 26: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/26.jpg)
Key FeaturesKey Features
Atomic Check inAtomic Check in
Integrated with Visual StudioIntegrated with Visual Studio
Eclipse and Cross-platform support Eclipse and Cross-platform support (via partner)(via partner)
Work Item IntegrationWork Item Integration
Customizable Check in BehaviorCustomizable Check in Behavior
WAN SupportWAN Support
Large File Support (>4GB)Large File Support (>4GB)
ShelvingShelving
![Page 27: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/27.jpg)
Team System VC vs VSSTeam System VC vs VSS
X 6X 6
VSSVSS Team SystemTeam System
1.5 hours1.5 hoursFull GetFull Get 7.5 minutes7.5 minutes
15 minutes15 minutesGet LatestGet Latest 3 seconds3 seconds
3.5 seconds3.5 secondsRight ClickRight Click 0 Seconds0 Seconds
4.5 Seconds4.5 SecondsNavigateNavigate 0 Seconds0 Seconds
X 25X 25X 28X 28ProxyProxy
![Page 28: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/28.jpg)
Microsoft “Dogfooding”Microsoft “Dogfooding”Version ControlVersion Control
Redmond, WARedmond, WA368 Users368 Users
Fargo, NDFargo, ND4 Users4 Users
Research Research Triangle, NCTriangle, NC42 Users42 Users
Copenhagen, Copenhagen, DenmarkDenmark6 Users6 Users
Hyderabad, IndiaHyderabad, India14 Users14 Users
Version Control Users:Version Control Users: 864 864Number of Files/Folders: 1,507,247/178,953Number of Files/Folders: 1,507,247/178,953Compressed File Size:Compressed File Size: 95.2 GB 95.2 GBWorkspaces:Workspaces: 1,770 1,770Workspace File Versions: 48.9 MillionWorkspace File Versions: 48.9 MillionChangesets:Changesets: 32,573 32,573Pending Changes:Pending Changes: 57,278 57,278Shelvesets:Shelvesets: 2,458 2,458
Source: Source: http://blogs.msdn.com/buckh/archive/2006/03/22/brownbag.aspx
![Page 29: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/29.jpg)
Capacity PlanningCapacity Planning
Team SizeTeam Size TFS ConfigTFS Config ModelModel CPUCPU MemoryMemory DiskDisk
100100 Single ServerSingle Server Dell PowerEdge 1850Dell PowerEdge 1850 1 x 3.4Ghz1 x 3.4Ghz 1GB1GB 1 x 10k rpm 1 x 10k rpm SCSISCSI
200200 Single ServerSingle Server Dell PowerEdge 1850Dell PowerEdge 1850 1 x 3.4Ghz1 x 3.4Ghz 2GB2GB 1 x 10k rpm 1 x 10k rpm SCSISCSI
400400 Single ServerSingle Server Dell PowerEdge 1850Dell PowerEdge 1850 2 x 3.4Ghz2 x 3.4Ghz 2GB2GB 1 x 10k rpm 1 x 10k rpm SCSISCSI
800800 Dual ServerDual Server HP Proliant DL580 G2HP Proliant DL580 G2 AT: 1 x 2.8GhzAT: 1 x 2.8Ghz
DT: 2 x 2.7GhzDT: 2 x 2.7Ghz
AT: 1GBAT: 1GB
DT: 4GBDT: 4GB
12 x 15k SCSI 12 x 15k SCSI Raid 0Raid 0
20002000 Dual ServerDual Server HP Proliant DL580 G2HP Proliant DL580 G2 AT: 1 x 2.8GhzAT: 1 x 2.8Ghz
DT: 4 x 2.7GhzDT: 4 x 2.7Ghz
AT: 1GBAT: 1GB
DT: 16GBDT: 16GB
12 x 15k SCSI 12 x 15k SCSI Raid 0Raid 0
35003500 Dual ServerDual Server Dell PowerEdge 1850Dell PowerEdge 1850
Unisys ES7000/600Unisys ES7000/600
AT: 2 x 2.8GhzAT: 2 x 2.8Ghz
DT: 8 x 2.8GhzDT: 8 x 2.8Ghz
AT: 4GBAT: 4GB
DT: 32GBDT: 32GB
XIOTech SAN XIOTech SAN (2TB, RAID 10)(2TB, RAID 10)
Source: Source: http://blogs.msdn.com/bharry/archive/2006/01/04/509314.aspxhttp://blogs.msdn.com/bharry/archive/2006/01/04/509314.aspx
![Page 30: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/30.jpg)
UpdateUpdate
Terminology – CVS / SubversionTerminology – CVS / Subversion
Check OutCheck Out
![Page 31: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/31.jpg)
Check inCheck in
Terminology – VSS / TFSTerminology – VSS / TFS
Check OutCheck OutGet LatestGet Latest
![Page 32: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/32.jpg)
Check out != Get LatestCheck out != Get Latest
11
11
Get LatestGet Latest
22 33
Get LatestGet Latest
33
Edit PendingEdit Pendingon Version 3on Version 3
Check inCheck in
44
![Page 33: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/33.jpg)
Check out != Get LatestCheck out != Get Latest
11
11
Get LatestGet Latest
22 33
Edit PendingEdit Pendingon Version 1on Version 1
AttemptedAttemptedCheck inCheck in
Check inCheck in
44
Get LatestGet Latest
![Page 34: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/34.jpg)
Branching and MergingBranching and Merging
Source: Source: http://downloads.seapine.com/pub/papers/SCMBranchingModels.pdfhttp://downloads.seapine.com/pub/papers/SCMBranchingModels.pdf
![Page 35: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/35.jpg)
Recommended File StructureRecommended File Structure
![Page 36: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/36.jpg)
TFS Branching FeaturesTFS Branching Features
Path-space branchingPath-space branching
Support for merging changesSupport for merging changes
Branch from any point in history Branch from any point in history
Cherry Pick ChangesetsCherry Pick Changesets
![Page 37: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/37.jpg)
Branching and Shelving withBranching and Shelving withTeam Foundation ServerTeam Foundation Server
![Page 38: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/38.jpg)
Learning MoreLearning More
Eric Sink’s Source Control HOWTOEric Sink’s Source Control HOWTOhttp://software.ericsink.com/scm/http://software.ericsink.com/scm/Subversion BookSubversion Bookhttp://svnbook.red-bean.comhttp://svnbook.red-bean.comRob Caron’s Blog:Rob Caron’s Blog:http://blogs.msdn.com/robcaronhttp://blogs.msdn.com/robcaronTeam System Rocks:Team System Rocks:http://www.teamsystemrocks.comhttp://www.teamsystemrocks.comMicrosoftMicrosofthttp://www.microsoft.com/teamsystemhttp://www.microsoft.com/teamsystemVSTS Virtual LabVSTS Virtual Labhttp://shrinkster.com/emjhttp://shrinkster.com/emj
![Page 39: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/39.jpg)
Question and AnswerQuestion and Answer
Martin WoodwardMartin Woodward
Senior Software EngineerSenior Software Engineer
TeampriseTeamprise
[email protected]@teamprise.com
www.teamprise.comwww.teamprise.com
Slides: http://www.woodwardweb.comSlides: http://www.woodwardweb.com
![Page 40: Source Control with Team Foundation Server Martin Woodward Teamprise](https://reader035.vdocuments.site/reader035/viewer/2022070323/56649dbf5503460f94ab2b06/html5/thumbnails/40.jpg)