The opinions expressed in these materials are my own and are not necessarily those of Microsoft.
Copyright © Microsoft Corporation. All rights reserved. Unless otherwise indicated, all source code provided is licensed under the Microsoft Public License (Ms-PL).
For folks that haven’t seen this it’s great guidance on TFS implementation. Here is a blurb from the site:
This solution delivers practical and scenario based guidance for the implementation of Team Foundation Server. We guide you through the decisions whether to have one or more Team Foundation Servers, one or more Team Project Collections, one or more Team Projects and one or more Teams, based on scenarios and implications of each decision. In addition we cover disaster recovery planning with a focus on avoidance, frequently asked questions and a collection of real-world reference stories.
My good friend, Kevin Remde, is writing a great series comparing VMWare technology to our Hyper-V offering. His latest post on the cost benefits was very compelling. Here is an excerpt from the post:
So today, for the latest article in our “VMware or Microsoft?” series, I thought I’d address an area that perhaps a lot of VMware customers don’t know much about. One of the important things that we really want VMware customers to understand is that they may be paying for features or technology or high availability or virtualized storage or virtualized networking that they wouldn’t have to if they went with Microsoft’s version of the “Software Defined Data Center”.
You can see the full article here:
Hey Folks :)
Wanted to let you know that the Visual Studio 2013 and Team Foundation Server 2013 Release Candidates were made public today. Here is some guidance and information:
Please go to Soma’s blog for the main announcement today.
- Download Visual Studio 2013 RC
You can find more information including new features, platforms and compatibility, and much more here:
- Save the date for Visual Studio 2013 Launch on Nov 13th
Note: Windows Store app development requires Windows 8.1 RTM, which is available to MSDN and TechNet subscribers. Visual Studio 2013 RC does not support Windows 8.1 Preview or Windows Server 2012 R2 Preview. For more information, see system requirements and platform compatibility.
Direct feedback to the following locations:
- Connect (for bugs) & VS Feedback Tool (for bugs filed from within VS)
- UserVoice (for ideas/suggestions)
- Forums (for Q&A)
- Support (for in-production use only)
- You will also have the Send-A-Smile option in the product (the happy face in the upper-right corner), to send general thoughts and sentiment on the release.
Myfriends at Caravan Studios <www.caravanstudios.org>,the newest division of TechSoup <www.techsoup.org>You can go here for more information:
Once you've registered with SafeNight, you become a member of the community. A community who believes that people want to help. That we can use the resources at our disposal to make change. A community that believes everyone deserves a violence free life.
Once you've registered, you can connect to a verified domestic violence service organization. These organizations provide shelter and other services to individuals in need. Once you connect, you will receive requests to sponsor a hotel room when there is an urgent need and no availabe space at a shelter.
When the organization you are supporting needs help, you will see a notification on your phone. That lets you know that there is an individual who needs a safe night. By agreeing to sponsor a hotel stay, you give that person a chance to receive additional support in a time of need.
I recently had a discussion with a customer about our GIT support. I thought I would share this great documentation for folks who are wondering what our current level of support is and a to compare GIT to the Team Foundation Version Control (TFVC). We want to provide folks the ability to choose the version control systems that suits them best so we offer both centralized (TFVC) and decentralized (GIT) version control alternatives natively in TFS. You can find the documentation below here:
When you create a new team project you choose the version control system your team will use in that project: Team Foundation Version Control (TFVC) or Git. This is a permanent choice for each team project you create, but you can use both TFVC and Git team projects in the same team project collection.
Team Foundation Version Control (TFVC) is a centralized version control system. Typically, Team members have only one version of each file on their dev machines. Historical data is maintained only on the server. Branches are path-based and created on the server.
TFVC enables two models for your team to make changes:
Check out/check in in server workspaces: Before making changes, team members publicly check out a files. Most operations require developers to be connected to the server. (In the past teams blocked more than one person from checking out, but this is now less common.) This system facilitates locking work flows. Other systems that work this way include Visual Source Safe, Perforce, and CVS.
Edit and commit from local workspaces: Each team member takes a copy of the latest version of the codebase with them and works offline as needed. Developers check in their changes and resolve conflicts as necessary. Another system that works this way is Subversion.
Learn more about Team Foundation Version Control (TFVC).
Git is a decentralized version control system. Each developer has a copy of the entire source repository on their dev machine. Developers can commit each set of changes on their dv machine and perform version control operations such as history and compare without a network connection. Branches are lightweight. When you need to switch contexts, you can quickly create a private local branch. You can quickly switch from one branch to another to pivot among different variations of your codebase. Later, you can merge, publish, or dispose of the branch. Another system that works this way is Mercurial.
Git in Visual Studio and TFS is standard Git. You can use Visual Studio with third-party Git services, and you can also use third-party Git clients with TFS.
Learn more about Git
Here’s a comparison chart to help you make a choice between TFVC and Git.
Team members can receive email alerts when check-ins occur.
Team members can receive email alerts when commits are pushed to the server.
Because your team checks in all their work into a centralized system, you can identify which user checked in a changeset and use compare to see what they changed. Looking at a file, you can annotate it to identify who changed a block of code, and when they did it.
You can identify which user pushed a commit to TFS. (Anyone can claim any identity as the author or committer.) You can identify when changes were made what was changed using history, compare, and annotate.
Path-based branches are used mostly as long-standing constructs to isolate risk of change among feature teams and releases. Team members typically set up an additional workspace for each branch they work on.
Changes in each branch are independent from each other, so you don’t have to check them in before switching from one branch to another. Merging between sibling branches requires a baseless merging.
You can get visualizations of your branch structures and where your changesets have been merged.
See Use branches to isolate risk in Team Foundation Version Control.
Branching is lightweight and path independent. Many developers create a branch for each new feature they are coding, sometimes on a daily basis. You can quickly switch from one branch to another to pivot among different variations of your codebase. You can create branches that exist only on your dev machine and share them if and when you’re ready.
You must commit, branch, stash, or undo changes before switching branches. Merging is simple and independent of the commit that the branch is based on.
You can compare branches to see which commits exist on which branches.
See Use Git branches to switch contexts, suspend work, and isolate risk.
Builds (automated by TFBuild)
You can use all TFBuild capabilities to build any combination of content you want within the team project collection.
You can use most TFBuild capabilities to build one team project at a time, and one or more repositories at a time. Gated check-in builds aren’t available yet. Symbols can be published, but they are not indexed yet.
Team members can concurrently change files on their dev machines. You upload (check-in) changesets to the server when you create them. You can upload your changes at any time. However, you might be interrupted by conflicts.
You can change the comment of a changeset after you check it in. You can link changesets to work items and associate them with completed builds.
Team members can concurrently change files on their dev machines. You create commits on your dev machine independently of contributing them to the team. When you’re ready you must pull the latest commits before you upload (push) yours to the server. When you pull, you might be interrupted by conflicts.
You cannot change the comment of a commit. You can link commits to work items and associate them with completed builds.
You can modify and combine commits from the command prompt.
Code reviews in TFS
Not available yet, but you can comment on and send email about a commit from the web portal.
You might have to resolve conflicts when you get, check in, merge, or unshelve. You can resolve all types of conflicts in Visual Studio.
You might have to resolve conflicts when you pull or merge. You can resolve content conflicts in Visual Studio. Other types of conflicts can be resolved from the command prompt.
You can check in large binary files. You might also want to use NuGet in combination or as an alternative.
You can check in small binary files. You might want to use NuGet as an alternative.
Files on the client dev machine
You can browse your files using Source Control Explorer in Visual Studio, or using Windows File Explorer or the command prompt.
You can browse your files using Windows File Explorer or the command prompt. You cannot yet browse files in Visual Studio.
Files on the server
Each team project contains all files under a single root path (for example: $/FabrikamTFVC). You can apply permissions at the file level. You can lock files.
You can browse your files on the web portal and using Source Control Explorer in Visual Studio.
Each team project can contain one or more Git repositories and each Git repository can contain one or more branches. The most granular permissions you can apply are to a repository or a branch. Files cannot be locked.
You can browse your files on the web portal.
File history is not replicated on the client dev machine and so can be viewed only when you’re connected to the server.
You can view history in Visual Studio and on the web portal. You can annotate files to see who changed a line, and when they changed it.
File history is replicated on the client dev machine and can be viewed even when not connected to the server.
You can view history in Visual Studio and on the web portal. On the web portal you can annotate files to see who changed a line, and when they changed it.
Manage work on your dev machine
Pending changes and my work pages
Changes, commits, and branches pages.
You can use CI builds, gated check-in builds and check-in policies.
You can use CI builds. Gated check-in builds aren’t available yet.
You can work on small or very large scale projects using local workspaces. Supports massive scale (millions of files per branch and large binary files) projects using server workspaces.
You can quickly begin small projects. You can scale up to very large projects, but you have to plan ahead to modularize your codebase. You can create multiple repositories in a team project.
Suspend your work
You can suspend from my work page or shelve your changes.
You can create a branch from (from Visual Studio or the command prompt) from or stash (from the command prompt)
Tag your files
You can apply labels to a version of one or more files from either Visual Studio or the command prompt. Each file can have label applied to a different version.
You can apply tags from the command prompt to individual commits. View tags in the Visual Studio history window.
Client tools: Visual Studio, Eclipse (with Team Explorer Everywhere)
Server tool: TFS
Client tools: Visual Studio, Eclipse, and other third-party tools
Server tools: TFS and third-party services
Visual Studio: Offers all commonly used features and many advanced features.
TFS web portal: Can browse, comment, annotate, and see history of the codebase.
TF Command prompt: Installed with Visual Studio. Used for advanced, administrative, and other less common tasks.
Visual Studio: Offers many commonly used features. Features for some common tasks are not yet available.
Third-party command prompt: You can install it from Visual Studio. Used for some common and many less common tasks.
Visual Studio compatibility
You can use all supported previous versions of Visual Studio.
You can use Visual Studio 2013 (Git is included) or Visual Studio 2012 Update 3 (you must also install Visual Studio Tools for Git).
You can browse your codebase (including branches), view history, annotate and comment on changesets and shelvesets, and perform other tasks such as ad hoc downloading of selected parts of your codebase as a .zip file.
You can browse your codebase, view history, compare branches, annotate and comment on commits, and perform other tasks such as ad hoc downloading of selected parts of your codebase as a .zip file.