[Mono-dev] Microsoft.TeamFoundation APIs

joel reed joel.reed at ddiworld.com
Mon Dec 18 23:27:49 EST 2006


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
>>>>
>>>
>>>
>>>
>>>
> 
> 
> 
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> 
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: olive-with-tfs.v1.diff.gz
Type: application/x-gzip
Size: 19707 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20061218/f0ade87a/attachment.gz 
-------------- 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/20061218/f0ade87a/attachment.vcf 


More information about the Mono-devel-list mailing list