arleyschrock / opentf Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/opentf
Automatically exported from code.google.com/p/opentf
Team Foundation is a "collection of collaborative technologies that support a team effort to deliver a product." It includes bug tracking, source control, and other features (*). For example, Microsoft's CodePlex site (http://codeplex.com/) uses a Team Foundation Server for the source control backend. For instructions on how to build and install this software, see the file INSTALL. Namespaces under Development ----------------------------------------------------------------- Microsoft.TeamFoundation Microsoft.TeamFoundation.Common Microsoft.TeamFoundation.Client Microsoft.TeamFoundation.VersionControl.Client Microsoft.TeamFoundation.VersionControl.Common Microsoft.TeamFoundation.WorkItemTracking.Client The TF tool ----------------------------------------------------------------- An in progress implementation of the Team Foundation client, tf.exe, can be found in tools/tf/. If found, it will make use of libmagic to compute file permissions, as TF servers do not track/store permissions. Documentation on the tool can be found on msdn at: http://msdn2.microsoft.com/en-us/cc31bk2e(VS.80).aspx Supported Commands: add, branches, changeset, checkin, checkout, commit, config, delete, diff, dir, edit, explore, get, help, history, label, labels, lock, ls-files, move, online, permission, properties, rename, shelvesets, show, status, treeclean, undo, unlabel, version, view, workfold, workspace, and workspaces You can track a repository using the following commands: tf /server:<server-ip> /login:<domain>\\<username>,<password> workspace /new "<workspace name>;<username>"; tf /server:<server-ip> /login:<domain>\\<username>,<password> workfold "$/<project name>" /usr/local/src/somedir Then as often as you like run: tf /server:<server-ip> /login:<domain>\\<username>,<password> /recursive get /usr/local/src/somedir /workspace:someworkspace Running the Unit Tests ----------------------------------------------------------------- Most of the unit tests require a working TeamFoundation server. Currently, the unit tests use the following environment variables to configure which server, user account, password, project, etc. to use for testing purposes. export TFS_URL=<url to server, eg. http://192.168.0.1:8080/>; export TFS_USERNAME=<your-username>; export TFS_DOMAIN=<your-domain>; export TFS_PASSWORD=<your-password>; export TFS_PROJECT=<a top-level project name, eg. MyProject>; TFS Web Services ----------------------------------------------------------------- Here's the list of available TFS web services, as noted by a post at http://converttostring.com/archive/2007/03/01/359.aspx /Services/v1.0/AuthorizationService.asmx /Services/v1.0/CommonStructureService.asmx /Services/v1.0/EventService.asmx /Services/v1.0/GroupSecurityService.asmx /Services/v1.0/ProjectMaintenance.asmx /Services/v1.0/ProcessTemplate.asmx /Services/v1.0/Registration.asmx /Services/v1.0/ServerStatus.asmx /Warehouse/v1.0/WarehouseController.asmx /Warehouse/v1.0/WarehouseController.asmx /Build/v1.0/BuildStore.asmx /Build/v1.0/BuildController.asmx /Build/v1.0/Integration.asmx /Build/v1.0/Integration.asmx /Build/v1.0/Integration.asmx /Build/v1.0/PublishTestResultsBuildService.asmx /WorkItemTracking/v1.0/ClientService.asmx /WorkItemTracking/v1.0/ConfigurationSettingsService.asmx /WorkItemTracking/v1.0/Integration.asmx /WorkItemTracking/v1.0/Integration.asmx /WorkItemTracking/v1.0/Integration.asmx /WorkItemTracking/v1.0/Integration.asmx /VersionControl/v1.0/repository.asmx /VersionControl/v1.0/administration.asmx /VersionControl/v1.0/integration.asmx /VersionControl/v1.0/item.asmx /VersionControl/v1.0/upload.asmx /Build/v1.0/PublishTestResultsBuildService.asmx /Build/v1.0/PublishTestResultsBuildService.asmx CodePlex Example Usage =================================================================== For registered developers, CodePlex is a publicly accessible example of a Team Foundation server used to host open source projects. Here's some examples of how to use the TF tool to access CodePlex hosted source code. In the commands below, UID = your codeplex user name PWD = your codeplex password MACHINENAME = your machine name (or any other random name) Note: "snd" is the domain name I got with my signon. Not sure if this is the same for everyone or not. First create a workspace: tf /server:https://tfs01.codeplex.com /login:snd\\UID,PWD workspace /new "MACHINENAME;UID" Then map "Turtle" project to a local folder: tf /server:https://tfs01.codeplex.com /login:snd\\UID,PWD workfold "$/Turtle" ~/Source/turtle Then pull the files: tf /server:https://tfs01.codeplex.com /login:snd\\UID,PWD get ~/Source/turtle /recursive Now, to edit the "License.txt" file: cd ~/Source/turtle tf edit License.txt This makes the file writable. To see what you have checked out: tf status To check License.txt back in: tf checkin /comment:"My comment" License.txt This makes the file read-only again. You don't have to specify License.txt. If you don't specify a filename or filenames, it checks in everything you have checked out. Then you could review the history, review a changeset, then look at the diff of the changeset. Note: the examples below assume Credentials.Save is on. cd ~/Source/turtle tf history /recursive . tf changeset 340 tf diff C340 Code Samples ----------------------------------------------------------------- Buck Hodges has written numerous examples of using the TFS API. You can find a list of these samples here: http://blogs.msdn.com/buckh/archive/2006/08/12/tfs_api_links.aspx The following examples have been compiled and tested against TF for Mono: http://blogs.msdn.com/buckh/archive/2005/10/26/485458.aspx http://blogs.msdn.com/buckh/archive/2006/04/06/project_diff.aspx (with 2 changes) Links of Interest ----------------------------------------------------------------- http://msdn2.microsoft.com/en-us/library/bb130146(VS.80).aspx http://msdn2.microsoft.com/en-us/teamsystem/default.aspx http://msdn2.microsoft.com/en-us/cc31bk2e(VS.80).aspx Mailing List / Discussion Group ----------------------------------------------------------------- http://groups.google.com/group/opentf Members may post messages to: [email protected]
Works:
>"C:\Programme\OpenTF\opentf.exe" /server:abc /login:%USERNAME% /preview online
Password: XXXXXXXX
Added: D:\Code\t
Nice would be to be able to use:
>"C:\Programme\OpenTF\opentf.exe" online
<select file to add in GUI dialog>
Added: D:\Code\t
The perhaps easiest way would be to use %USERNAME% as a login name.
Next the server of the workspace can be determined from all of the
workspaces (as listed in the workspaces command).
I do not know, how tf.exe does identify the user to the TFS server.
Would it be possible to hide the typed in password? Or to display each
character as a star?
The last aspect may to open a dialog which lists all files that needs to be
changed.
Original issue reported on code.google.com by [email protected]
on 3 Jul 2008 at 4:30
What steps will reproduce the problem?
1. Create 3 workspaces on a server
2. Run the "tf workspaces" command
What is the expected output?
I expected to see a listing of all three workspaces.
Server: https://tfs01.codeplex.com
Workspace Owner Computer Comment
-------------- ---------- -------- -------------
hudsonopentf redsolo_cp ASTERIX
Hudson-tp-tfs1 redsolo_cp ASTERIX
opentf4 redsolo_cp ASTERIX
opentf5 redsolo_cp ASTERIX
What do you see instead?
Only the first workspace
Workspace Owner Computer Comment
-------------- ----------- -------- -------------------
Hudson-tp-tfs1 redsolo_cp ASTERIX
What version of the product are you using? On what operating system?
0.6.0.0 - Windows vista
Please provide any additional information below.
If I run the workspaces command with the MS tf client I get:
Server: https://tfs01.codeplex.com
Workspace Owner Computer Comment
-------------- ---------- -------- -------------
hudsonopentf redsolo_cp ASTERIX
Hudson-tp-tfs1 redsolo_cp ASTERIX
opentf4 redsolo_cp ASTERIX
opentf5 redsolo_cp ASTERIX
When I run the workspaces command with the opentf client I get:
Workspace Owner Computer Comment
-------------- ----------- -------- -------------------
Hudson-tp-tfs1 redsolo_cp ASTERIX
Original issue reported on code.google.com by [email protected]
on 26 Aug 2008 at 9:16
Im writing a TFS plugin for Hudson, and are looking if I can get opentf to
work as the teamprise and Microsoft command-line clients. That is, the TFS
plugin would be able to use opentf as any of the other clients. But it
seems that the output from all three tools are some what different.
Anyhow, I just tried the detailed history command, and I see that there is
no time stamps on the history by default. Could you add time stamps on the
detailed history output that is displayed by default?
Original issue reported on code.google.com by [email protected]
on 5 Jul 2008 at 10:12
What steps will reproduce the problem?
1. Have an all-caps-named folder in the repository (e.g. 'GUI')
2. Try checking out
3. OpenTF will be unable to find folder 'GUI' because it will be
represented as 'gui' and the checkout will fail. TF Explore will crash.
What is the expected output? What do you see instead?
I expect the content to be checked out successfully, or at least an error
displayed in GUI.
Instead, checkout of "..../GUI/Parent" fails because "..../GUI" cannot be
found, and TF Explore crashes.
What version of the product are you using? On what operating system?
0.6.0, svn revision 41.
Please provide any additional information below.
-
Original issue reported on code.google.com by [email protected]
on 1 Mar 2009 at 5:35
This is an item for the Whishlist.
It would be helpful to be able to use opentf from Eclipse to access the TFS
especially the TF Version Control aspects.
Perhaps the VSS plugins can be used as a basis to add this support:
http://sourceforge.net/projects/vssplugin/
TiA
Christian
Original issue reported on code.google.com by [email protected]
on 3 Jul 2008 at 5:24
What steps will reproduce the problem?
1. run tf with any command which needs login information, such as tf
workspaces /server:myserver
2. input password
3. password is shown as normal characters, not * (or such unreadable chars).
What is the expected output? What do you see instead?
I expected I can't read my password in login dialog. But I can.
What version of the product are you using? On what operating system?
I'm using opentf 0.6.0 on debian linux unstable with mono.
Please provide any additional information below.
Thank you for the good program. It is very useful to me.
Original issue reported on code.google.com by [email protected]
on 20 Oct 2008 at 5:19
What steps will reproduce the problem?
1. Make sure your tfs repository containt > 256 changesets
2. Call VersionControlServer.QueryHistory with a maxCount > 256
3. Loop though resulting changesets; you'll notice duplicates
What is the expected output? What do you see instead?
Expected: no duplicates
What version of the product are you using? On what operating system?
Latest version
Please provide any additional information below.
Suggested fix:
In Microsoft.TeamFoundation.VersionControl.Client/VersionControlServer.cs
(method QueryHistory), the 'versionTo = ...' line should be replaced:
while (total > 0)
{
int batchMax = Math.Min(256, total);
int batchCnt = repository.QueryHistory(workspaceName, workspaceOwner,
itemSpec,
version, user, versionFrom, versionTo,
batchMax, includeChanges, slotMode,
includeDownloadInfo, ref changes);
if (batchCnt < batchMax) break;
total -= batchCnt;
Changeset lastChangeset = changes[changes.Count - 1];
//fix: use "lastChangeset.ChangesetId -1" instead of
lastChangeset.ChangesetId
versionTo = new ChangesetVersionSpec(lastChangeset.ChangesetId - 1);
}
Original issue reported on code.google.com by [email protected]
on 21 Jan 2008 at 10:41
Steps
1. Open the solution using Visual Studio 2008
2. Visual Studio informs that the Gtk.TeamFoundation and Mono.GetOptions
assemblies are missing
3. Compile the solution
4. There are 207 Errors en 3 Warnings reported
I'm using Visual Studio 2008 SP1 (Beta) on Windows Vista SP1.
Original issue reported on code.google.com by [email protected]
on 18 May 2008 at 2:53
1) Install as a plugin to Mono
2) Open Team Foundation Browser and click "Add Repository"
3) I insert all values
4) Nothing Added
As standalone opentf it says that Authorization failed. However I am sure
that everything is right.
Original issue reported on code.google.com by [email protected]
on 17 Jul 2008 at 1:42
I already had workspace "FER" registered on server, however I have deleted
~/.tf to re-initialize OpenTF installation. When I was trying to add this
workspace to my local client again, tf explore interface just kept crashing
due to an exception.
Removing the workspace using "tf workspace /delete" resolved this problem,
but a TF newbie like me can't easily figure out what's the deal here. A
friendly messagebox explaining possible causes would do good.
By the way, thanks for enabling me to avoid Microsoft's Team Foundation for
an university project. All materials were stuffed on MSTF server and we're
expected to install TF client from MSDNAA and fetch it from there. *sigh*
Original issue reported on code.google.com by [email protected]
on 28 Feb 2009 at 5:47
treeclean on Windows always clean the full tree.
opentf version 0.6.0.0
Windows Server 2008 32-bit
If we look inside Run() method we see the following lines:
string serverItem = item.ServerItem.Remove(0, serverPath.Length+1);
string fname = Path.Combine(path, serverItem);
itemList.Add(fname, true);
and below:
if (!itemList.ContainsKey(file.FullName))
The problem is that in my case file.FullName uses '\' as directory
separator, but serverItem uses '/'.
So in the first code block path variable contains something like that:
d:\some\path
serverItem contains something like that: itempath/itemname.cpp
and finally fname contains d:\some\path\itempath/itemname.cpp
But file.FullName gives path as d:\some\path\itempath\itemname.cpp and
there is the problem.
Maybe serverItem assignment must be looked something like that:
string serverItem = item.ServerItem.Remove(0,
serverPath.Length+1).Replace(Path.AltDirectorySeparatorChar,
Path.DirectorySeparatorChar);
Original issue reported on code.google.com by [email protected]
on 28 Apr 2010 at 1:37
Thanks a lot for opentf!
Here is the displayed trace:
>"C:\Programme\OpenTF\opentf.exe" /server:abc /login:%USERNAME% /preview
online
Password: WrongOrNoPassword
Unbehandelte Ausnahme: System.Net.WebException: Fehler bei der Anforderung
mit HTTP-Status 401: Unauthorized.
bei
System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMess
age
message, WebResponse response, Stream r
esponseStream, Boolean asyncCall)
bei System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String
methodName, Object[] parameters)
bei Microsoft.TeamFoundation.Client.Authenticator.CheckAuthentication()
bei Microsoft.TeamFoundation.Client.TeamFoundationServer.Authenticate()
bei
Microsoft.TeamFoundation.Client.TeamFoundationServer.EnsureAuthenticated()
bei Microsoft.TeamFoundation.Client.TeamFoundationServer.GetService(Type
serviceType)
bei Driver.get_VersionControlServer()
bei Command.get_VersionControlServer()
bei Command.GetWorkspaceFromCache()
bei OnlineCommand.Run()
bei Driver.ProcessCommand(String cmd, String[] cmdArgs)
bei Driver.ProcessAllCommands()
bei Driver.Main(String[] args)
Original issue reported on code.google.com by [email protected]
on 3 Jul 2008 at 4:44
See
http://blogs.msdn.com/richardb/archive/2007/09/25/tf-checkin-exit-codes.aspx
Original issue reported on code.google.com by [email protected]
on 26 Sep 2007 at 1:25
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.