professionaldownload.e-bookshelf.de/download/0002/5125/62/l-g...(tfs), and an author and technical...
TRANSCRIPT
ffi rs.indd 04/23/2014 Page i
PROFESSIONALTEAM FOUNDATION SERVER 2013
INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxix
▸ PART I GETTING STARTED
CHAPTER 1 Introducing Visual Studio Online and Team Foundation Server 2013 . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
CHAPTER 2 Planning a Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
CHAPTER 3 Installation and Confi guration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
CHAPTER 4 Connecting to Team Foundation Server . . . . . . . . . . . . . . . . . . . . . . 63
▸ PART II VERSION CONTROL
CHAPTER 5 Overview of Version Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
CHAPTER 6 Using Centralized Team Foundation Version Control . . . . . . . . . . 101
CHAPTER 7 Distributed Version Control with Git and Team Foundation Server . . . . . . . . . . . . . . . . . . . . . . 167
CHAPTER 8 Version Control in Heterogeneous Teams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
CHAPTER 9 Migration from Legacy Version Control Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
CHAPTER 10 Branching and Merging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
CHAPTER 11 Common Version Control Scenarios . . . . . . . . . . . . . . . . . . . . . . . . 281
▸ PART III PROJECT MANAGEMENT
CHAPTER 12 Introducing Work Item Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
CHAPTER 13 Customizing Process Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
CHAPTER 14 Managing Teams and Agile Planning Tools. . . . . . . . . . . . . . . . . . . 373
CHAPTER 15 Reporting and SharePoint Dashboards . . . . . . . . . . . . . . . . . . . . . . 401
CHAPTER 16 Project Server Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
▸ PART IV TEAM FOUNDATION BUILD
CHAPTER 17 Overview of Build Automation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
CHAPTER 18 Using Team Foundation Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
CHAPTER 19 Customizing the Build Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
CHAPTER 20 Release Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
▸ PART V ADMINISTRATION
CHAPTER 21 Introduction to Team Foundation Server Administration . . . . . . . 587
CHAPTER 22 Scalability and High Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
CHAPTER 23 Disaster Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
CHAPTER 24 Security and Privileges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
CHAPTER 25 Monitoring Server Health and Performance . . . . . . . . . . . . . . . . . . 699
CHAPTER 26 Testing and Lab Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725
CHAPTER 27 Upgrading Team Foundation Server . . . . . . . . . . . . . . . . . . . . . . . . 757
CHAPTER 28 Working with Geographically Distributed Teams . . . . . . . . . . . . . . 775
CHAPTER 29 Extending Team Foundation Server . . . . . . . . . . . . . . . . . . . . . . . . 795
INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825
ffi rs.indd 04/23/2014 Page iii
PROFESSIONAL
Team Foundation Server 2013
ffi rs.indd 04/23/2014 Page v
PROFESSIONAL
Team Foundation Server 2013
Steven St. JeanDamian BradyEd Blankenship
Martin WoodwardGrant Holliday
ffi rs.indd 04/23/2014 Page vi
Professional Team Foundation Server 2013
Published byJohn Wiley & Sons, Inc.10475 Crosspoint BoulevardIndianapolis, IN 46256www.wiley.com
Copyright © 2014 by John Wiley & Sons, Inc., Indianapolis, Indiana
Published simultaneously in Canada
ISBN: 978-1-118-83634-7ISBN: 978-1-118-83641-5 (ebk)ISBN: 978-1-118-83631-6 (ebk)
Manufactured in the United States of America
10 9 8 7 6 5 4 3 2 1
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permissions.
Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifi cally disclaim all warranties, including without limitation warranties of fi tness for a particular purpose. No warranty may be created or extended by sales or pro-motional materials. The advice and strategies contained herein may not be suitable for every situation. This work is sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional services. If professional assistance is required, the services of a competent professional person should be sought. Neither the pub-lisher nor the author shall be liable for damages arising herefrom. The fact that an organization or Web site is referred to in this work as a citation and/or a potential source of further information does not mean that the author or the publisher endorses the information the organization or Web site may provide or recommendations it may make. Further, readers should be aware that Internet Web sites listed in this work may have changed or disappeared between when this work was written and when it is read.
For general information on our other products and services please contact our Customer Care Department within the United States at (877) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002.
Wiley publishes in a variety of print and electronic formats and by print-on-demand. Some material included with stan-dard print versions of this book may not be included in e-books or in print-on-demand. If this book refers to media such as a CD or DVD that is not included in the version you purchased, you may download this material at http://book-support.wiley.com. For more information about Wiley products, visit www.wiley.com.
Library of Congress Control Number: 2014930418
Trademarks: Wiley, Wrox, the Wrox logo, Programmer to Programmer, and related trade dress are trademarks or regis-tered trademarks of John Wiley & Sons, Inc. and/or its affi liates, in the United States and other countries, and may not be used without written permission.] All other trademarks are the property of their respective owners. John Wiley & Sons, Inc., is not associated with any product or vendor mentioned in this book.
ffi rs.indd 04/23/2014 Page vii
For Kim, Danielle, and Jessica, who keep me
grounded. With all my love.
—Steven
For my amazing wife, Lisa—the best person I’ve ever met.
—Damian
To Mom, Dad, Tiffany, Zach, Daniel, Mike, and
Grandma, and to all those on the product teams that
make this an amazing product that positively impacts
so many in the software engineering community.
—Ed
To Catherine.
—Martin
To my son, William Grant Holliday.
—Grant
ffi rs.indd 04/23/2014 Page viii
ffi rs.indd 04/23/2014 Page ix
ABOUT THE AUTHORS
STEVEN ST. JEAN is a Senior ALM Consultant with Microsoft’s Premier Support for Developers team. Prior to that, he worked with Notion Solutions for six years as a Senior ALM Consultant. He has twenty years of industry experience, the past seven focused on assisting clients with maturing their development processes, including the use of the Microsoft tools stack. He is a former Microsoft MVP in Visual Studio ALM, a Microsoft Certifi ed Solution Developer in Team Foundation Server (TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process and tooling topics at user groups and code camps. In his free time, he enjoys spending time with his wife and daughters, traveling, and photography. You can fi nd his technical blog at http://sstjean.blogspot.com, and his Twitter handle is @SteveStJean.
DAMIAN BRADY is a Solution Architect and State Manager for SSW in Brisbane, Australia, special-izing in Application Lifecycle Management and ASP.NET development. He spends most of his time working with teams to mature their development process, but is never too far from a keyboard—cutting code and bringing projects to completion. Damian is an MVP in Visual Studio ALM and runs the Brisbane .NET User Group and the annual DeveloperDeveloperDeveloper Brisbane confer-ence. He regularly presents at events in Australia and internationally, including Tech Ed Australia and New Zealand. You can fi nd his blog at http://blog.damianbrady.com.au, and his Twitter handle is @damovisa.
ED BLANKENSHIP works at Microsoft as the Product Manager for Visual Studio Online, Team Foundation Server, and Application Lifecycle Management. Before becoming Product Manager, he was the Program Manager for the Lab and Environment Management scenarios of the Visual Studio ALM and Team Foundation Server product family. He began working with Team Foundation Server and Visual Studio ALM from its inception nearly eight years ago.
Before joining Microsoft, Ed was awarded as a Microsoft Most Valuable Professional (MVP) for fi ve years. In 2010, he was voted the Microsoft MVP of the Year for Visual Studio ALM & TFS by his peers. Ed was also a TFS consultant and the ALM Practice Technical Lead at Imaginet (formerly Notion Solutions). Prior to consulting, Ed was the Release Engineering Manager at Infragistics, where he led a multi-year Team Foundation Server and Visual Studio Team System implementation globally to improve the development process life cycle.
Ed has authored and served as technical editor for several Wrox books. He has also authored numerous articles, and spoken at various user groups, events, radio shows, and conferences, includ-ing TechEd North America. You can fi nd him sharing his experiences at his technical blog at www.edsquared.com and on Twitter with his handle @EdBlankenship.
ffi rs.indd 04/23/2014 Page x
MARTIN WOODWARD is a Principal Program Manager on the Visual Studio team at Microsoft. He frequently speaks about Application Lifecycle Management and Team Foundation Server at events internationally and has coauthored several books on the topic. Before joining Microsoft, Martin worked at Teamprise and was the Team System MVP of the Year. You can fi nd more information at his blog at http://woodwardweb.com, reach him at @martinwoodward on Twitter, or listen to his podcast at http://RadioTFS.com.
GRANT HOLLIDAY is a Senior Service Engineer for Microsoft Visual Studio Online. Visual Studio Online offers Team Foundation Server and other developer services hosted in Windows Azure, accessible from anywhere using existing and familiar tools, and supporting all languages and platforms. As a Service Engineer, he works behind the scenes to keep the service up and running smoothly for customers around the world. Prior to this role, he traveled around Australia visiting customers and performing TFS and SQL health checks as a Premier Field Engineer. He also spent three years in Redmond, Washington as a Program Manager in the TFS product group. He was responsible for the internal TFS server deployments at Microsoft, including the largest and busiest TFS server in the world used by Developer Division. Grant shares his experiences managing TFS at his blog http://blogs.msdn.com/granth/.
ffi rs.indd 04/23/2014 Page xi
ABOUT THE CONTRIBUTOR
EDWARD THOMSON is a Software Development Engineer for Microsoft Visual Studio, where he develops the core Git functionality for Visual Studio and Team Foundation Server. Prior to that, he developed Team Explorer Everywhere, Microsoft’s set of cross-platform version control clients for Team Foundation Server. Before joining Microsoft, Edward developed version control tools at Teamprise and SourceGear. You can fi nd Edward on Twitter as @ethomson and online at http://www.edwardthomson.com/.
ABOUT THE TECHNICAL EDITOR
ANTHONY BORTON is the lead ALM consultant for Enhance ALM Pty Ltd, an Australian consult-ing and training company specializing in Application Lifecycle Management. He delivers training on Microsoft’s ALM products through Seattle-based training provider QuickLearn Training, and is the lead ALM trainer behind www.alm-training.com. Since passing Microsoft Exam 001 back in 1993, Anthony has completed over 58 exams including Microsoft Certifi ed Solutions Developer: Application Lifecycle Management. Anthony is a sought-after trainer and has delivered technical training and consulting in the United States, Europe, and all across the Asia Pacifi c region. He is a Microsoft MVP (Visual Studio ALM) and a Microsoft Certifi ed Trainer. In his spare time he enjoys traveling and spending time with his family.
ffi rs.indd 04/23/2014 Page xii
ffi rs.indd 04/23/2014 Page xiii
EXECUTIVE EDITORRobert Elliott
PROJECT EDITORChristina Haviland
TECHNICAL EDITORAnthony Borton
SENIOR PRODUCTION EDITORKathleen Wisor
COPY EDITORNancy Rapoport
MANAGER OF CONTENT DEVELOPMENT AND ASSEMBLYMary Beth Wakefi eld
DIRECTOR OF COMMUNITY MARKETINGDavid Mayhew
MARKETING MANAGERAshley Zurcher
BUSINESS MANAGERAmy Knies
VICE PRESIDENT AND EXECUTIVE GROUP PUBLISHERRichard Swadley
ASSOCIATE PUBLISHERJim Minatel
PROJECT COORDINATOR, COVERTodd Klemme
PROOFREADERNancy Carrasco
INDEXERRobert Swanson
COVER DESIGNERWiley
COVER IMAGE©iStockphoto.com/36clicks
CREDITS
ffi rs.indd 04/23/2014 Page xiv
ffi rs.indd 04/23/2014 Page xv
ACKNOWLEDGMENTS
I’D LIKE TO THANK the entire team that worked to get this book out under an extremely tight dead-line. To my coauthor, Damian Brady, it was a blast working with you. Thanks for your diligence on top of your day job, holidays, and all the other things that life throws at you. To my Contributing Author, Ed Thomson, a big thank you for jumping in at very late notice to make sure we did justice to the Git content. To Ed Blankenship, Martin Woodward, Brian Keller, and Grant Holliday, thank you for your work on the earlier versions of this book. You have provided us with a solid, com-prehensive base to work from. A special thanks to our Tech Editor, Anthony Borton, whose deep technical knowledge kept us honest and made this a better book than we would have made on our own. To our Technical Proofreader, Anna Russo Vance, also a big thanks for stepping in late in the process and giving the text one last sweep to ensure we made the best book possible.
A big thanks to the Editorial team at Wiley, which kept us on track (cracked the whip)—Christina Haviland, Nancy Rapoport, and Robert Elliot—and to the Wiley Production team for making it all look so good.
Thanks to Brian Harry and the original Visual SourceSafe team members from OneTree Software. Visual SourceSafe was my “gateway drug” into the world of version control and Application Lifecycle Management. I’ve realized that I wouldn’t have this level of passion for ALM if I had not worked with this tool early in my career.
Thanks also to the Visual Studio team at Microsoft for producing the most complete set of ALM tools on the market and for continuing to innovate into the cloud with Visual Studio Online. I’m looking forward to some great features in the coming releases.
Finally and most importantly, I want to thank my wife, Kimberly, and my daughters, Danielle and Jessica, for putting up with me during this whole process. I’m sure it wasn’t easy. Your love and sup-port made this possible.
—Steven St. Jean
I WANT TO THANK my coauthors, Steve, Ed, Martin, and Grant, for allowing me to be a part of this edition of the book, especially to Steve for his additional mentorship and advice along the way. Thanks also to Ed Thomson for your expert contribution as we crept closer to the fi nal deadlines. The help from the MVP community as well as members of the product teams at Microsoft has been invaluable. I want to thank everyone who replied to e-mails and answered any questions I had, often with a ridiculously short turnaround.
This book would not have been possible without the support of the editors, reviewers, and all at Wiley who provided their support. A special thanks must go to Christina Haviland for her expert
ffi rs.indd 04/23/2014 Page xvi
guidance as well as her understanding when I had to put the book on the backburner for a few weeks. Thanks also to Anthony for keeping us honest from a technical standpoint.
I want to thank the excellent and supportive team at SSW for pushing me to the high standards you set as consultants, and for reminding me I had work to do by all too frequently asking, “How’s the book going?” In particular, thanks to SSW’s illustrious leader Adam Cogan, whose infl uence and enthusiasm have helped me achieve some goals that once seemed a long way off. I also want to acknowledge the fantastic developer community in Australia and Brisbane, in particular. I’m privi-leged to work in an environment with so many smart and dedicated professionals.
Finally, I want to thank my family: Johnny, Ma, Pat, Sarah, and Roo. I’m very lucky to have one of those rare families you can always depend on when you need them. Most important, thank you to my amazing wife, Lisa. Marrying you will always be my greatest achievement. You have encouraged me, supported me through many a late night and weekend, and feigned interest in the book even though I might as well have been writing in Latin. I love you and I’m so proud to have you with me as we work toward our goal of being wealthy, unemployed, multilingual, professional surfers. Or something.
—Damian Brady
I REALLY WANT to thank everyone involved with putting this book together, including the author team, editors, reviewers, and everyone who was able to give us great feedback and help along the way! Thanks to my coauthors for the great teamwork and contributions that have made this book awesome. I have really appreciated their guidance along the way, as well as all of the new things that I have learned from each author’s expertise. I truly enjoyed working with y’all.
The help from each of the product teams to put together such a great book can’t be discounted! A personal thanks to Brian Harry, Sam Guckenheimer, Matt Mitrik, Mario Rodriguez, Anu, Muthu, Aseem, Nipun, Satinder, Gregg Boer, Jim Lamb, Jason Prickett, Chad Boles, Phillip Kelley, Christophe Fiessinger, and Chris Patterson on the product teams at Microsoft. I appreciate all of their contributions, advice, and, most of all, their in-depth insight into the product over the years to provide a better understanding of all the moving wheels of Team Foundation Server.
I also want to thank all of my former Microsoft MVP colleagues who have been a great group to be a part of as well as to work with now. A special thanks goes to Mike Fourie, Tiago Pascoal, Anthony Borton, Steve Godbold, Mickey Gousset, Steve St. Jean, Chris Menegay, Dave McKinstry, Joel Semeniuk, Adam Cogan, and Neno Loje for all of their help.
Thank you to everyone who has helped me throughout my career over the years! Thanks for pushing me to get better in my craft and fueling my enthusiasm. Thanks also to my family and friends for their guidance along the way and for always supporting me. I couldn’t have done this without each of you.
—Ed Blankenship
ffi rs.indd 04/23/2014 Page xvii
I WANT TO THANK my coauthors for allowing me to help them in putting this book together. You will struggle to meet a group of folks who know the breadth of Team Foundation Server better than they do, and it has been a pleasure to work with them all.
My colleagues in the entire Team Foundation Server group (past and present) have obviously been essential in the making of this book, but I would like to especially acknowledge the help, advice, and assistance from the following people both inside and outside Microsoft—Aaron Hallberg, Philip Kelley, Chad Boles, Buck Hodges, Matthew Mitrik, James Manning, Jason Prickett, Ed Holloway, Doug Neumann, Ed Thomson, Peter Provost, Terje Sandstrom, and William Bartholomew. I also want to thank the ALM Rangers and ALM MVPs that make the Team Foundation Server commu-nity such a vibrant community to be a part of.
Finally, I want to thank my wife, Catherine. I owe Catherine so much for so many things, both big and small. I know that she signed up for “in sickness and in health” on that wonderful day in Newcastle when she agreed to be my wife, but I’m pretty sure she’d have thought again if our vows had been “in sickness and in health, through the course of four books and through the countless nights apart or vacation days messed up due to my husband not understanding the term ‘work/life balance.’” Lucky for me, she keeps her promises. And I promise to spend the rest of my days trying to make her understand how grateful I am. For everything.
—Martin Woodward
I’D LIKE TO THANK everyone who made this book possible. Once again, we formed the dream team of Team Foundation Server knowledge and experience.
Thank you to my co-authors, Steve, Damian, Ed, and Martin. Thank you to the Wiley project team for keeping us on track and helping with the polish and production effort that a technical book like this deserves.
Second, I’d like to thank the Microsoft Services team in Australia and the worldwide Premier Field Engineering team. I returned home after some time in Corp, and you welcomed me with open arms into your organizations—I am truly honored to call myself a PFE.
A big thank you to Brian Harry and the Team Foundation Server team in Redmond and Raleigh. The TFS team is truly world-class in its customer focus, and I am lucky to work with such great technical talent.
Finally, I want to thank my family for all the late nights and weekends it took to get this over the line.
—Grant Holliday
ftoc.indd 04/23/2014 Page xix
CONTENTS
INTRODUCTION xxxix
PART I: GETTING STARTED
CHAPTER 1: INTRODUCING VISUAL STUDIO ONLINE AND TEAM FOUNDATION SERVER 2013 3
What is Team Foundation Server? 3What is Visual Studio Online? 5What’s New in Team Foundation Server 2013? 5
Version Control 5Team Collaboration 6Web Access 6Agile Product Management 7Release Management 7
Acquisition Options 7Visual Studio Online 8Express 9Trial 9Volume Licensing 10MSDN Subscriptions 10Microsoft Partner Network 11Retail 11
Summary 11
CHAPTER 2: PLANNING A DEPLOYMENT 13
Identifying and Addressing Software Engineering Pain 13Transparency of the Release or Project 14Collaboration across Different Teams and Roles 15Automated Compilation, Testing, Packaging, and Deployment 15Managing Test Plans 15Parallel Development 16
Adopting Team Foundation Server 16Adoption Timeline 16Phased Approach 17Hosting Team Foundation Server 19
xx
CONTENTS
ftoc.indd 04/23/2014 Page xx
Identifying Affected Teams 20Generating Consensus 20Team Foundation Server Administrator 21Pilot Projects 21
Migration Strategies 22Version Control 22Work Item Tracking 23
Structuring Team Project Collections and Team Projects 24Considering Limitations in Team Foundation Server 26Server Limitations 29
Preparation for a Team Foundation Server Environment 30Understanding the Architecture and Scale-Out Options 30Hardware Requirements 33Virtualization 33Planning for Software Prerequisites 35Service Accounts 38File Share Folders 39SMTP Server 40Firewall Concerns and Ports Used 40Friendly DNS Names 40Legacy Visual Studio Versions 42
Summary 43
CHAPTER 3: INSTALLATION AND CONFIGURATION 45
What You’ll Need 45Team Foundation Server 2013 46Team Foundation Server 2013 Installation Guide 47SQL Server 2012 48Operating System 48SharePoint 49Client Software 49Service Packs and Other Updates 49
Installing Team Foundation Server 50Installation Types 51Confi guring Team Foundation Server 54Creating Your First Team Project 58Confi guring Friendly DNS Names 61Summary 61
xxi
CONTENTS
ftoc.indd 04/23/2014 Page xxi
CHAPTER 4: CONNECTING TO TEAM FOUNDATION SERVER 63
Team Foundation Server Architecture 63Addressing Team Foundation Server 65Introducing Team Foundation Server Security and Roles 67
Users 68Groups 68Permissions 69
Team Explorer 69Understanding Team Explorer in Visual Studio 70Connecting to Team Foundation Server from Eclipse and Cross-Platform 75
Alternate Ways to Connect to Team Foundation Server 78Accessing Team Foundation Server through a Web Browser 78Using Team Foundation Server in Microsoft Excel 79Using Team Foundation Server in Microsoft Project 81Windows Explorer Integration with Team Foundation Server 82Connecting Microsoft Test Manager to Team Foundation Server 83Access to Team Foundation Server via Third-Party Integrations 84
Summary 84
PART II: VERSION CONTROL
CHAPTER 5: OVERVIEW OF VERSION CONTROL 87
What Is Version Control? 87Repository 88Working Copy 89Working Folder Mappings 90Get/Clone/Pull 90Add 90Check-Out 91Changeset/Commits 91Check-in/Commit 91Push 92History 92Branching and Merging 92
xxii
CONTENTS
ftoc.indd 04/23/2014 Page xxii
Centralized Versus Decentralized Version Control 93Centralized version Control 93Distributed Version Control Systems 94Differences between Centralized and Distributed Version Control Systems 94
Common Version Control Products 95Microsoft Visual SourceSafe 96Apache Subversion 96Team Foundation Version Control 97Git in TFS 98
Summary 99
CHAPTER 6: USING CENTRALIZED TEAM FOUNDATION VERSION CONTROL 101
Getting Started with Team Foundation Server Version Control 102Learning What’s New in Team Foundation Server 2013 Version Control 105Team Foundation Server Version Control Concepts 106
Workspace 106Working Folder Mappings 110Get 114Check-Out 117Locks 117Check-In of Pending Changes 119Undo Pending Changes 126Changeset 126Shelvesets 128Branches 129
Using Source Control Explorer 130Viewing History 132Labeling Files 133Recovering When Things Go Wrong 134
Keeping on Task with My Work 136Managing Code Reviews 141
Requesting a Code Review 142Performing a Code Review 143Completing the Code Review 146
Team Foundation Server Version Control in Eclipse 147Installing the Team Foundation Server Plug-In for Eclipse 149Sharing Eclipse Projects in Team Foundation Server 150
xxiii
CONTENTS
ftoc.indd 04/23/2014 Page xxiii
Importing Projects from Team Foundation Server 153Differences between the Eclipse and Visual Studio Clients 154Team Foundation Server Version Control from the Command Line 155Getting Help 156Using the Command Line 156
Team Foundation Version Control Power Tools and Third-Party Utilities 157
Microsoft Visual Studio Team Foundation Server Power Tools 157Team Foundation Server MSSCCI Provider 158
Version Control Security and Permissions 158Switching Version Control to Team Foundation Server 160
Working with Team Foundation Version Control for Visual SourceSafe Users 160Using Team Foundation Version Control for Subversion Users 162
Summary 164
CHAPTER 7: DISTRIBUTED VERSION CONTROL WITH GIT AND TEAM FOUNDATION SERVER 167
Distributed Version Control Concepts 168Git 168Repository 169Graph 170Commit 171Branches 171Topic Branches 172HEAD 173Working Directory 174Index 174
Microsoft Visual Studio Integration 175Getting Started with a Repository 175Making Changes in a Working Directory 179Committing Changes 182Branching and Merging 183Synchronizing Changes with the Server 188
Using Git Command-Line Tools 191Installing Git for Windows 192Cloning Git Repositories Hosted in Team Foundation Server 193Making Changes in the Repository 194Viewing History 196
xxiv
CONTENTS
ftoc.indd 04/23/2014 Page xxiv
Branching and Merging 197Synchronizing with the Server 198Using Posh-Git 199
Summary 200
CHAPTER 8: VERSION CONTROL IN HETEROGENEOUS TEAMS 201
What Are Heterogeneous Teams? 201Working Together Seamlessly 202Xcode Development 202
Using a Git-Based Team Project 202Using a TFVC-Based Team Project 206
Eclipse Development 206Installing Team Explorer Everywhere 207Connecting Team Explorer Everywhere to Team Foundation Server 212Using Team Foundation Version Control 215Using Git 221
Working with the Cross-Platform Command-Line Client 221Install and Connect 222Creating a Workspace Mapping 224Performing a Get from Team Foundation Server 224Editing Files and Committing Changes 225
Summary 226
CHAPTER 9: MIGRATION FROM LEGACY VERSION CONTROL SYSTEMS 227
Migration Versus Upgrade 228Upgrade 228Migration 228
Migrating History or Latest Version 229Migrating from Visual SourceSafe 230
Preparing to Use the VSS Upgrade Wizard 231Using the Visual SourceSafe Upgrade Wizard 232
Team Foundation Server Integration Platform 238Popular Third-Party Migration Tools 240
Subversion, CVS, and StarTeam 240ClearCase 241
Summary 241
xxv
CONTENTS
ftoc.indd 04/23/2014 Page xxv
CHAPTER 10: BRANCHING AND MERGING 243
Differences Between TFVC and Git When Branching and Merging 244Branching Demystifi ed 244
Branch 244Merge 245Confl ict 245Branch Relationships 246Baseless Merge 247Forward/Reverse Integration 247Push/Pull 247
Common Branching Strategies 247No Branching 248Branch per Release 250Code Promotion Branching 251Feature Branching 252
Implementing Branching Strategies in Centralized Version Control 253
The Scenario 253The Plan 254Implementation 254Dealing with Changesets 260Tracking Change through Branches 272
Implementing Branching Strategies in Git 274No Branching Strategy 274Feature Branching Strategy 277
Summary 280
CHAPTER 11: COMMON VERSION CONTROL SCENARIOS 281
Setting Up the Folder Structure for Your Branches 281Application Source Code 282Automated Tests Source Code 283Architecture Assets 283Database Schema 283Installer Assets 284Build and Deployment Assets 284
Third-Party Source Code and Dependencies 284Folder inside the Branch 285Folder at Team Project Level 287
xxvi
CONTENTS
ftoc.indd 04/23/2014 Page xxvi
Internal Shared Libraries 289Choosing a Location in Version Control 289Storing Library Assemblies as Dependencies 292Branching into Product Family Branches 294
Managing Artifacts Using Team Foundation Server 295SQL Reporting Services Encryption Key Backup 296Process Templates 297Custom Build Assemblies 297Master Build Process Templates 299Source Code for Custom Tools 299
Summary 300
PART III: PROJECT MANAGEMENT
CHAPTER 12: INTRODUCING WORK ITEM TRACKING 303
Project Management Enhancements in Team Foundation Server 2013 304
Rich Work Item Relationships 304Test Case Management 305Agile Portfolio Management 305Enhanced Reporting 306SharePoint Server Dashboards 306Agile Planning Tools in Team Web Access 307
Work Items 308Work Item Types 308Areas and Iterations 309
Process Templates 313MSF for Agile Software Development 314MSF for CMMI Process Improvement 316Visual Studio Scrum 320Third-Party Process Templates 321Custom Process Templates 321
Managing Work Items 321Using Visual Studio 322Using Microsoft Excel 327Using Microsoft Project 329
xxvii
CONTENTS
ftoc.indd 04/23/2014 Page xxvii
Using Team Web Access 329Using Third-Party Tools 331
Project Server Integration 332Summary 332
CHAPTER 13: CUSTOMIZING PROCESS TEMPLATES 333
Anatomy of a Process Template 334Plug-In Files 334Default Security Groups and Permissions 336Initial Area and Iteration Nodes 338Work Item Type Defi nitions 338Initial Work Items 349Work Item Queries and Folders 349Microsoft Project Column Mappings 349Version Control Permissions and Settings 351SharePoint Project Team Portal Document Library Settings 352SQL Reporting Services Report Defi nitions 353
Using the Process Template Editor 353Installing the Process Template Editor 353Working with a Process Template 354Using an XML Editor and WITAdmin 355
Deploying Updates to Process Templates 357Uploading Process Templates in Team Foundation Server 357Editing Work Items on an Existing Team Project 357
Customizing Agile Tools 359Metastates and Backlogs 359Effort, Remaining Work, and Stack Rank 361Defi ning the Team 362Other Process Confi guration Customizations 362
Common Work Item Type Customizations 362Adding New States 362Displaying Custom Link Types 363Synchronizing Name Changes 364
Introducing Custom Work Item Controls 365Work Item Clients 365Work Item Control Interfaces 366
xxviii
CONTENTS
ftoc.indd 04/23/2014 Page xxviii
Deploying Custom Controls 370Work Item Custom Control Deployment Manifest 371Using the Custom Control in the Work Item Type Defi nition 371
Summary 372
CHAPTER 14: MANAGING TEAMS AND AGILE PLANNING TOOLS 373
Defi ning a Team 374Maintaining Product Backlogs 379
Managing the Backlog 379Agile Portfolio Management 382
Planning Iterations 383Tracking Work 386
Using the Kanban Board 386Using the Task Board 388
Customization Options 390Team Rooms 391Stakeholder Feedback 393
Requesting Feedback 394Providing Feedback 396Voluntary Feedback 399
Summary 399
CHAPTER 15: REPORTING AND SHAREPOINT DASHBOARDS 401
What’s New in Team Foundation Server 2013? 402Work Item Charting in Web Access 402Cross-Collection Reporting Support 407Changes to the Relational Warehouse 407Changes to the Analysis Services Cube 408Optional and Richer SharePoint Integration 409
Team Foundation Server Data Warehouse 410Operational Stores 410Relational Warehouse Database and Warehouse Adapters 411Querying the Relational Warehouse Database 411Analysis Services Cube 414Data Warehouse Permissions 416
SharePoint Integration 417SharePoint Extensions 417Excel Services and Dashboard Compatibility 417Adding a Project Portal and Reports to an Existing Team Project 418