Microsoft Team Foundation Server- TFS Source Control System
Its some kind of tool like SVN/GIT etc source version control system.But, version control is only a part of this.Team foundation server(in short, TFS), is a great innovation of Microsoft,that is integrated with Visual Studio and provide a easy/effective way to manage a software development project completely.
Installing:
If you are using visual studio 2008, then you must need to have service pack 1 installed before you can install team foundation client software.
you can download the team system client for vs 2008 from this microsoft download link.
If you are a visual studio 2010 user, then you won’t have to do anything and its already a part of visual studio 2010.
Configuring:
First we will have to connect to TFS server and setup the initials.
On visual studio menu, you should see a menu named ‘Team’, which will include only one option titled
‘Connect To Team Foundation Server’.From here, you will get an ‘Connect To Team Project’ dialogue.
This originally contains the listing of team projects on a selected server. As we don’t have any server configured, there will be nothing here at this moment.
Click on the
‘Servers’ button.
Here, you can provide the url, port, extra uri path,protocol(http/https). However, instead of giving individual details, if you give a complete url that contains all info, will work also. This can be like
“http://yourtfsserver.com:8080/uripath”.
After you have added the server. select it on “Connect to Team Project” dialogue.
Now, select proper ‘Project Collection’ and then select your specific project.Then you should be prompt to select a local pc directory where you wish to save all the files.it will perform a complete ‘checkout’ operation that will download all latest files from the server.
Browse Server Contents:
There are two windows to get you see the server files.
First, On ‘View -> Team Explorer’ you will see the team foundation server’s all items like Work Items,Documents,Reports,Builds and Source Control.The main concern for us at this moment is to use the ‘Source Control’ part.If you click on that option, you will get to another new window, which actually shows you all server files inside your team foundation server project.
Adding/Deleting Files/Directories To Source Control:
You should be able to see some options on the top bar of source control explorer window.
Similar options will be found if you right click of your mouse inside the area.
To add one/more file(s)(or directories), just use the ‘Add Items To Folder’ option to do so. Here,
I want to add a suggestion that, although you will be able to select files from other directories as well,it will be best to, first add items to your local file system (relatively) where you want them to be placed on server. then add the add option on source control explorer to add them from there.
After you perform the addition, those files/directories won’t be committed to server yet.
You will then have to perform another operation named ‘Check In Pending Changes’ to add them permanently to tfs server(its similar to the commit option on SVN).
Similarly you can delete files/folders from server using the ‘delete’ option and then finally checking in the pending changes.Here, just to mention, remove something using the source control explorer will not necessarily remove them from your local file system.You can do it manually.
Edit File:
To Edit a file, you should first use the option ‘Checkout for edit’ to acknowledge server that you are going to edit this file.This will be notified to other developers also and they will see this in edit mode through source control explorer.Also, until you checkout a file for edit, files will be in ‘read only’ mode.
As a result, you won’t be able to edit it externally(However its still possible to do so from within visual studio).
So, checking out for edit is kind of must for binary files(like doc file etc) at least.
Also, if you edit a file in offline mode(not connected to tfs server), it will detect the edited files and will convert them to ‘edit’ mode after you get to online.
Merging And Branching:
TFS has merging and branching facility as well.If your local version doesn’t fit with server version, in short, if any conflicts occurs, you can either manually merge them in merge tool or you can command tfs to do auto merge(you will only get this option if TFS thinks that it can be merged automatically).
If you have to work on several files and all are related to a single feature, its best to create a branch of the project or code file(s) and work on them. After finishing your task. you can again use the TFS merge command with the main branch and it will automatically incorporate those changes itself.Finally, you will have to commit as well.
Shelve Set:
If you are a earlier SVN user, then you may be new to this term.Team foundation server has this feature, which allows you to save your local edit as a separate item in server,which can be retrieved and reviewed by other developers of your team. After approval suggestions, it can be deleted or check in to the main version control stream.
Refer