Giter VIP home page Giter VIP logo

opentf's Introduction

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]

opentf's People

Watchers

James Cloos avatar Arley Schrock avatar

opentf's Issues

Use %USERNAME% as a default value to connect to TFS; determine TFS server; do not display the password

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

Workspace listing only shows first item

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

Add time stamp to detailed history report

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

Checkout onto VFAT partition fails if there's an all-caps folder in repo

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

Integration with Eclipse

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

Login dialog showes visible password.

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

VersionControlServer.QueryHistory return duplicate changesets when maxCount > 256

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

The VS 2008 Solution can not build

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

No repository added

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

If workspace already exists on server, "tf explore" will throw uncaught exception when adding to list

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 command fails on Windows

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

Unhandled Exception for wrong password or a missing password

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

Implement Exit Codes

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.