[Mono-dev] Microsoft.TeamFoundation APIs

joel reed joel.reed at ddiworld.com
Tue Dec 19 22:12:31 EST 2006


Rafael Teixeira wrote:
> Hi Joel,
> 
> Nice work so far but I couldn't find an open source TFS server to match 
> it...
>
> Can you point me to some open source implementation of a backend to your 
> APIs?

I wish I could. TeamFoundation server consists of a SQL Server database, 
sharepoint site, and an application tier consisting of a lot of web 
services. It would be much more difficult to try and duplicate the 
server side, then the client side, imho. I just want a client personally 
so I could checkin/checkout code, respond to bugs, etc. on my *nix box.

If you are really motivated, then another option would be to connect to 
the TeamFoundation server on Microsoft's codeplex site 
(http://www.codeplex.com). Its the only TFS server I know of that is 
accessible via the Internet. However, to do this, you must have a 
registered account, and be a "developer" or "coordinator" on a codeplex 
project. Not very helpful, except for those very motivated to help 
implement/test these APIs.

jr


> 
> Regards,
> 
> On 12/19/06, joel reed <joel.reed at ddiworld.com> wrote:
>> Just in the interest of getting what I have done out their now, I'm
>> posting the following gzip'd patch against the 12/18/06 olive tree.
>>
>> Currently implemented functionality:
>>
>>    Get list of all projects in a repository
>>    Get project by name
>>    Get project by url
>>    Querying labels
>>    Downloading files
>>    Get list of all files in a project
>>
>> The patch adds a tool/tfs/tfs.cs which you can use to try out the above
>> functionality on a TFS server of your choice.
>>
>> Here's what's in the patch.
>>
>> (2225 /usr/local/src/olive) lsdiff ~/olive-with-tfs.v1.diff
>> olive/class/Makefile
>> olive/class/Microsoft.TeamFoundation/Assembly/AssemblyInfo.cs
>> olive/class/Microsoft.TeamFoundation/ICommonStructureService.cs
>> olive/class/Microsoft.TeamFoundation/Makefile
>> olive/class/Microsoft.TeamFoundation/Microsoft.TeamFoundation.dll.sources
>> olive/class/Microsoft.TeamFoundation/ProjectInfo.cs
>> olive/class/Microsoft.TeamFoundation/ProjectProperty.cs
>> olive/class/Microsoft.TeamFoundation/ProjectState.cs
>> olive/class/Microsoft.TeamFoundation.Client/Assembly/AssemblyInfo.cs
>> olive/class/Microsoft.TeamFoundation.Client/CommonStructureService.cs
>> olive/class/Microsoft.TeamFoundation.Client/Makefile
>> olive/class/Microsoft.TeamFoundation.Client/Microsoft.TeamFoundation.Client.dll.sources 
>>
>> olive/class/Microsoft.TeamFoundation.Client/Microsoft.TeamFoundation.Client_test.dll.sources 
>>
>> olive/class/Microsoft.TeamFoundation.Client/TeamFoundationServer.cs
>> olive/class/Microsoft.TeamFoundation.Client/Test/CommonStructureServiceTest.cs 
>>
>> olive/class/Microsoft.TeamFoundation.Client/Test/TeamFoundationServerTest.cs 
>>
>> olive/class/Microsoft.TeamFoundation.Common/Assembly/AssemblyInfo.cs
>> olive/class/Microsoft.TeamFoundation.Common/InvalidPathException.cs
>> olive/class/Microsoft.TeamFoundation.Common/Makefile
>> olive/class/Microsoft.TeamFoundation.Common/Microsoft.TeamFoundation.Common.dll.sources 
>>
>> olive/class/Microsoft.TeamFoundation.Common/TeamFoundationServerException.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Assembly/AssemblyInfo.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/ChangesetVersionSpec.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/ChangeType.cs
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/DateVersionSpec.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/DeletedState.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/ExceptionEventArgs.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Failure.cs
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/GetOperation.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/GetOptions.cs
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/GetRequest.cs
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/GettingEventArgs.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Item.cs
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/ItemNotMappedException.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/ItemSet.cs
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/ItemSpec.cs
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/ItemType.cs
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/LabelVersionSpec.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/LatestVersionSpec.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/LockLevel.cs
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Makefile
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/MappingException.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Microsoft.TeamFoundation.VersionControl.Client.dll.sources 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Microsoft.TeamFoundation.VersionControl.Client_test.dll.sources 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/PendingChangeEventArgs.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/ProcessingChangeEventArgs.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/RecursionType.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Repository.cs
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/RepositoryProperties.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/SecurityChange.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/TeamProjectFolderOptions.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Test/VersionControlServerTest.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Test/WorkingFolderTest.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/VersionControlException.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/VersionControlLabel.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/VersionControlServer.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/VersionSpec.cs
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/WorkingFolder.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/WorkingFolderType.cs 
>>
>> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Workspace.cs
>> olive/README.tfs
>> olive/tools/Makefile
>> olive/tools/tfs/Makefile
>> olive/tools/tfs/tfs.cs
>> olive/tools/tfs/tfs.exe.sources
>> olive/tools/tfs/TODO
>> olive/tools/tfs/USAGE
>>
>> thanks,
>>
>> jr
>>
>>
>> Charlie Poole wrote:
>> > Hi Joel,
>> >
>> >> Charlie Poole wrote:
>> >>> Separate from the question of where this belongs and how it
>> >> relates to
>> >>> Mono, I'd love to have a way to access the Microsoft CodePlex
>> >>> repositories that doesn't involve use of TFS.
>> >> Good idea. I'll test my code against codeplex in addition to
>> >> my local TFS server.
>> >
>> > Let me know if I can help.
>> >
>> >>> Any thoughts of working on the Microsoft unit test APIs? There's a
>> >>> work in progress to allow NUnit to run those tests, but it
>> >> requires a
>> >>> copy of the Microsoft dlls to do it. Removing that
>> >> limitation would be
>> >>> quite powerful.
>> >> When I finish up what I need with the version control APIs,
>> >> I'd probably take a look at the issue tracking stuff next.
>> >> The unit test APIs would be interesting, but I prefer just
>> >> using Nunit :)
>> >
>> > I have no objections to that. :-)
>> >
>> > Charlie
>> >
>> >> jr
>> >>
>> >>
>> >>> Charlie
>> >>>
>> >>>> -----Original Message-----
>> >>>> From: mono-devel-list-bounces at lists.ximian.com
>> >>>> [mailto:mono-devel-list-bounces at lists.ximian.com] On
>> >> Behalf Of joel
>> >>>> reed
>> >>>> Sent: Saturday, December 16, 2006 7:09 PM
>> >>>> To: mono-devel
>> >>>> Subject: [Mono-dev] Microsoft.TeamFoundation APIs
>> >>>>
>> >>>> I've been working on implementing the Team Foundation
>> >> Server APIs and
>> >>>> currently have partial implementations of about 45 classes. I'm
>> >>>> currently working on the test suite and fixing bugs, comparing the
>> >>>> test suite output against my implementation and MS's. As
>> >> part of this
>> >>>> work, I also have a tfs.exe utility that can display all
>> >> the projects
>> >>>> in a repository and download all the files in any
>> >> particular project.
>> >>>> These are the namespaces I've been working on:
>> >>>>    Microsoft.TeamFoundation
>> >>>>    Microsoft.TeamFoundation.Common
>> >>>>    Microsoft.TeamFoundation.Client
>> >>>>    Microsoft.TeamFoundation.VersionControl.Client
>> >>>>
>> >>>> I've been working on this within the context of the mono
>> >> olive tree.
>> >>>> That is, I've added all my code to this tree locally, and
>> >> integrated
>> >>>> it into the build system.
>> >>>>
>> >>>> Is the olive project the right place for an implementation
>> >> of the the
>> >>>> Team Foundation Server APIs? Or the mono project? Or just
>> >> a separate
>> >>>> sourceforge project? Just looking for some guidance here.
>> >>>>
>> >>>> jr
>> >>>>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: joel.reed.vcf
Type: text/x-vcard
Size: 405 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20061219/fa364cec/attachment.vcf 


More information about the Mono-devel-list mailing list