Source Control Scenario Frame
From Guidance Share
Jump to navigationJump to searchScenarios Frame – Source Control
Categories
- Accessing Version Control
- Administration
- Branch / Label / Merge
- Check-ins and Check-in Policies
- Checkout, Get, and Lock
- Dependencies
- Distributed / Remote Development
- Migration
- Project / Workspace Management
- Shelving
Accessing Version Control
- Developer works offline, syncs changes when back online
- Developer automates a common version control task
- A developer uses Team Foundation Version Control from a MSSCCI compatible client
- A developer uses Team Foundation Version Control using third-party integration
- A developer creates his own integration solution to access Team Foundation Version Control
- Developer uses Team Foundation Power Tools
- Developer uses the version control command line interface
Administration
- Administrator removes a developer from the project
- Administrator adds a developer to the project
- Administrator gives a developer access to a portion of the source tree
- Administrator modifies source control permissions on branches
- Administrator moves the source tree to another server
Branch / Label / Merge
- Developer applies a label to a set of files and folders
- Development team creates a branch to support a release
- Development team uses a branch to maintain a release
- Development team creates a branch to support isolated feature development
- Development team creates a branch to isolate external dependencies
- Development team retires an old release
- Developer performs a forward integration merge from parent branch to child branch
- Developer performs a reverse integration merge from child branch to parent branch
- Developer executes a merge across branches
- Developer resolves merge conflicts
- Developer performs a baseless merge
Check-ins and Check-in Policies
- Development team uses check-in policies to enforce coding standards prior to check-in
- Development team uses check-in policies to enforce unit tests at check-in
- Developer creates a custom check-in policy
- Developer overrides a check-in policy
- Development lead is notified of a check-in policy override
- Developer checks-in a change set
- Developer needs to undo a previous check-in they made
- Developer needs to undo another developer’s check-in
- Developer resolves a conflict at check-in
- Automatic conflict resolution fails to resolve a check-in
- Developer avoids conflicts with other developers
Checkout, Get, and Lock
- Developer gets the latest version of the source tree
- Developer gets the latest version of a sub-set of the source tree
- Developer checks-out a file for editing
- Developer is making major changes to a file and needs to lock out other developers
- Development team needs to reorganize their source tree and must lock it down until done
- Development team needs to lockdown before shipping their application
Dependencies
- Development team manages web service dependencies
- Development team manages database dependencies
- Developer uses project references to reference dependencies in the same solution
- Developer uses file references to reference dependencies in another solution
Distributed / Remote Development
- Remote developers access TFS over the internet – no proxy
- Remote office accesses TFS over the internet – using proxy
- Partner accesses TFS over the internet
- Untrusted users access TFS over the internet
- Remote office sets up TFS Version Control Proxy
- Remote office optimizes TFS Version Control Proxy performance
Migration
- Administrator migrates source from VSS to TFS
- Administrator migrates source from ClearCase to TFS
- Administrator migrates source from PVCS to TFS
- Administrator migrates source from StarTeam to TFS
- Administrator migrates source from PerForce to TFS
- Administrator migrates source from an open source solution (GNU-RCS, CS-RCS, GNU, CVS, SVN) to TFS
- Administrator creates a custom migration solution with TFS Migration and Synchronization Toolkit to migrate source from a source control system that does not yet have a migration solution
- Development team wants to move from one TFS server to another
Project / Workspace Management
- Development team sets up a new project with MSF Agile or MSF CMMI
- Development team sets up a new project with customized process guidance
- Development team creates a new project based on existing code
- Development team chooses one team project vs. multiple team projects
- Developer defines workspace mappings
- Developer creates a local workspace to unshelve another developers changes
- Developer creates a local workspace to look at a bug in isolation
- Developer creates a local workspace to isolate high risk code changes
- Development team structures their source control tree to support branching and merging
Shelving
- Developer shelves a changeset to backup pending changes to focus on higher priority work or to back up at the end of the day
- Developer shelves a changeset to share pending changes for a buddy test, to hand off work, or to get a code review
- Developer unshelves their own changeset