team foundation server 2010 - version control

Post on 19-Nov-2014

46.618 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

General overview of the version control capabilities of Team Foundation Server 2010.

TRANSCRIPT

Team Foundation Server 2010

Version Control

Steve LangeDeveloper Technology Specialist – Microsoftstevenl@microsoft.com | blogs.msdn.com/slange

Agenda• What is Team Foundation Server?• Focus: Version Control

– Architecture– Key Concepts

• Changesets– Integrated Check-in– Check-in Policies

• Workspaces• Shelving

– Other Version Control Concepts• Labeling• Compare/Diff

– Annotation

• Branching & Merging

• General Misconceptions• Integration with Other TFS Components• Q&A

Visual Studio 2010

What is Team Foundation Server?

• Team Foundation Server– A unified project server

Tester

Developer

Architect

ProjectManager

BusinessAnalyst

Designer Database Profession

al

Team Foundation Server At a Glance

Process Focused

Process TemplatesSharePointCustomizable

Version Control

Integrated Check-inCheck-in PoliciesShelving

Work Item Tracking

Manage workBugs, Tasks, Requirements, Stories, Risks, etc.Very Extensible

Build Automation

Continuous IntegrationScheduledAd Hoc

Reporting

Decision SupportTrack Project Progress

Team

Fou

ndati

on S

erve

r

Architecture

Data Tier

DataWarehouse

VersionControlWork Items Team Build

SQL Server

Windows SharePoint Services Web Services

Application Tier

SQL Reporting Services

Client Interface

VisualStudio

Team ExplorerMS Project

MS Excel

TFS SDK

Command Line

BuildEnvironment

BuildProcess

Version ControlProxy

VersionControlProxy

Service

Team Foundation Server Deployment

Dev Team (Local)Dev Team (Remote)

Business User

TCP/IPHTTP / S

Win 2003 ServerSQL Server 2005IIS 6.0

Team Foundation Server

Build Server

Version Control Proxy (Remote)Active Directory

TFS Version Control: Key Concepts

• Changesets– Integrated Check-in– Check-in Policies

• Workspaces• Shelving

Changesets

• Logical container of data related to check-in– File and branch information– Links to work items– Check-in notes– Comment– Policy compliance– Metadata (date, time, user)– Unit of atomic checkin

• Uniquely identified– Numeric identifier– Incremental

• Represents a point in time of source repository

Integrated Check-in

Atomic• A changeset is guaranteed to have all changes from a check-in

Integrated• Check-in policy applied (but override-able)• Work Items associated• Builds associated with Work Items• Check-in notes• All related to changeset• Pending Check-in Window• Notification possibilities

Check-in Policy• Customizable, extensible

Check-in Policies

• Requirements for Check-in• Overridable• Extensible Comments

Testing

Work Item Association

Code Analysis

Forbidden Files

Map Server to Local

Per User, Per Workstation

Changes in Workspace create

“Pending Changes”

Also Used for Builds

Workspaces

Shelving

Scenarios• Set aside pending changes without checkin– Optionally revert to

unmodified files– Restore shelved changes by

“unshelving”– Unshelve other user’s changes

• Power of task branching with less overhead

Developer

Switch Tasks

Backup Work-In-Progress

Checkpoint Work-In-Progress

Share Work-In-Progress

Perform a Code Review

Other Version Control Concepts

• Labeling• Compare/Diff– Annotation

• Branching & Merging

Labeling

• “Bookmarks” version control artifacts• Many uses– Mark Builds, Releases– Group Items– Label-based Branch or Merge

Compare/Diff/Merge

Compare/DiffFiles

(instance or different)

Trees (folder

structures)Branches

Custom Diff Tools

Per workstation Per file type

AnnotateIntra-file historical

comparison

Branching & Merging

Branch• A branch relationship is created in TFS to avoid duplication

of history and metadata• Path-space branching• Intelligent copies

Merge• Sync a branch into another• Cherry Picking changesets (include or omit)• Ability to show changes that have not been merged

Visual Branching

• Branches are “First Class” citizens• Visualize branch relationships• Track change across branches

– History– Timeline– Richer Annotate

• Conflict resolution

Understanding Parallel Development

Common Misconceptions

• Team Projects can contain multiple solutions/projects, or whatever..

Team Project = VS Project or Solution

• “If you can save it..”

TFS is for .NET only

• Lots of plug-ins, web interface, CLI, etc..

You need Visual Studio

Integration with Other TFS Components

TFS Version Control

Integration with other TFS Components

Build

• Create various build scenarios

• Build reports show associated changeset

Work Item Tracking

• Easily associate code to work items

• Provides traceability

Process Guidance & Automation

• Influences version control structure

Portal & Reporting

• Automatically impacts velocity, code churn

Version Control

Sample Reports

Thank You!

Questions?

Contact Info

Eric Strait • Developer Solutions

Specialist• estrait@microsoft.com• Based in Phoenix

Steve Lange• Developer Technology

Specialist• stevenl@microsoft.com• Based in Denver

Links & Resources

• TFS Best Practices Guide• SOX Compliance & Team System• Requirements Management Whitepaper– Steve’s Blog on RM and TFS

• Brian Harry’s Blog (Microsoft TFS Adoption)• Team System “Widgets” (comprehensive

integrations & utilities list)• Videos: “How Do I?” | VSTSRocks.com• Online Training Options

top related