1 Team Foundation is a "collection of collaborative technologies that
2 support a team effort to deliver a product." It includes bug tracking,
3 source control, and other features (*).
5 For example, Microsoft's CodePlex site (http://codeplex.com/)
6 uses a Team Foundation Server for the source control backend.
8 For instructions on how to build and install this software,
12 Namespaces under Development
13 -----------------------------------------------------------------
15 Microsoft.TeamFoundation
16 Microsoft.TeamFoundation.Common
17 Microsoft.TeamFoundation.Client
18 Microsoft.TeamFoundation.VersionControl.Client
19 Microsoft.TeamFoundation.VersionControl.Common
20 Microsoft.TeamFoundation.WorkItemTracking.Client
23 -----------------------------------------------------------------
25 An in progress implementation of the Team Foundation client, tf.exe,
26 can be found in tools/tf/. If found, it will make use of libmagic
27 to compute file permissions, as TF servers do not track/store
30 Documentation on the tool can be found on msdn at:
31 http://msdn2.microsoft.com/en-us/cc31bk2e(VS.80).aspx
34 add, branches, changeset, checkin, checkout, commit, config, delete,
35 diff, dir, edit, explore, get, help, history, label, labels, lock,
36 ls-files, move, online, permission, properties, rename, shelvesets,
37 show, status, treeclean, undo, unlabel, version, view, workfold,
38 workspace, and workspaces
40 You can track a repository using the
43 tf /server:<server-ip> /login:<domain>\\<username>,<password> workspace /new "<workspace name>;<username>";
44 tf /server:<server-ip> /login:<domain>\\<username>,<password> workfold "$/<project name>" /usr/local/src/somedir
46 Then as often as you like run:
47 tf /server:<server-ip> /login:<domain>\\<username>,<password> /recursive get /usr/local/src/somedir /workspace:someworkspace
50 Running the Unit Tests
51 -----------------------------------------------------------------
53 Most of the unit tests require a working TeamFoundation server. Currently, the unit
54 tests use the following environment variables to configure which server, user account,
55 password, project, etc. to use for testing purposes.
57 export TFS_URL=<url to server, eg. http://192.168.0.1:8080/>;
58 export TFS_USERNAME=<your-username>;
59 export TFS_DOMAIN=<your-domain>;
60 export TFS_PASSWORD=<your-password>;
61 export TFS_PROJECT=<a top-level project name, eg. MyProject>;
65 -----------------------------------------------------------------
66 Here's the list of available TFS web services, as noted by
67 a post at http://converttostring.com/archive/2007/03/01/359.aspx
69 /Services/v1.0/AuthorizationService.asmx
70 /Services/v1.0/CommonStructureService.asmx
71 /Services/v1.0/EventService.asmx
72 /Services/v1.0/GroupSecurityService.asmx
73 /Services/v1.0/ProjectMaintenance.asmx
74 /Services/v1.0/ProcessTemplate.asmx
75 /Services/v1.0/Registration.asmx
76 /Services/v1.0/ServerStatus.asmx
78 /Warehouse/v1.0/WarehouseController.asmx
79 /Warehouse/v1.0/WarehouseController.asmx
81 /Build/v1.0/BuildStore.asmx
82 /Build/v1.0/BuildController.asmx
83 /Build/v1.0/Integration.asmx
84 /Build/v1.0/Integration.asmx
85 /Build/v1.0/Integration.asmx
86 /Build/v1.0/PublishTestResultsBuildService.asmx
88 /WorkItemTracking/v1.0/ClientService.asmx
89 /WorkItemTracking/v1.0/ConfigurationSettingsService.asmx
90 /WorkItemTracking/v1.0/Integration.asmx
91 /WorkItemTracking/v1.0/Integration.asmx
92 /WorkItemTracking/v1.0/Integration.asmx
93 /WorkItemTracking/v1.0/Integration.asmx
95 /VersionControl/v1.0/repository.asmx
96 /VersionControl/v1.0/administration.asmx
97 /VersionControl/v1.0/integration.asmx
98 /VersionControl/v1.0/item.asmx
99 /VersionControl/v1.0/upload.asmx
101 /Build/v1.0/PublishTestResultsBuildService.asmx
102 /Build/v1.0/PublishTestResultsBuildService.asmx
105 CodePlex Example Usage
106 ===================================================================
107 For registered developers, CodePlex is a publicly accessible example
108 of a Team Foundation server used to host open source projects. Here's
109 some examples of how to use the TF tool to access CodePlex hosted
112 In the commands below,
114 UID = your codeplex user name
115 PWD = your codeplex password
116 MACHINENAME = your machine name (or any other random name)
118 Note: "snd" is the domain name I got with my signon. Not sure
119 if this is the same for everyone or not.
121 First create a workspace:
123 tf /server:https://tfs01.codeplex.com /login:snd\\UID,PWD
124 workspace /new "MACHINENAME;UID"
126 Then map "Turtle" project to a local folder:
128 tf /server:https://tfs01.codeplex.com /login:snd\\UID,PWD
129 workfold "$/Turtle" ~/Source/turtle
133 tf /server:https://tfs01.codeplex.com /login:snd\\UID,PWD get
134 ~/Source/turtle /recursive
136 Now, to edit the "License.txt" file:
141 This makes the file writable. To see what you have checked out:
145 To check License.txt back in:
147 tf checkin /comment:"My comment" License.txt
149 This makes the file read-only again. You don't have to specify
150 License.txt. If you don't specify a filename or filenames, it checks
151 in everything you have checked out.
153 Then you could review the history, review a changeset, then look
154 at the diff of the changeset. Note: the examples below assume
155 Credentials.Save is on.
158 tf history /recursive .
164 -----------------------------------------------------------------
165 Buck Hodges has written numerous examples of using the TFS API.
166 You can find a list of these samples here:
168 http://blogs.msdn.com/buckh/archive/2006/08/12/tfs_api_links.aspx
170 The following examples have been compiled and tested against
173 http://blogs.msdn.com/buckh/archive/2005/10/26/485458.aspx
174 http://blogs.msdn.com/buckh/archive/2006/04/06/project_diff.aspx (with 2 changes)
178 -----------------------------------------------------------------
180 http://msdn2.microsoft.com/en-us/library/bb130146(VS.80).aspx
181 http://msdn2.microsoft.com/en-us/teamsystem/default.aspx
182 http://msdn2.microsoft.com/en-us/cc31bk2e(VS.80).aspx
185 Mailing List / Discussion Group
186 -----------------------------------------------------------------
187 http://groups.google.com/group/opentf
189 Members may post messages to: opentf@googlegroups.com